minProcessors ..." /> minProcessors ..."/> li3huo.com – Tomcat NIO Configuration

Tomcat NIO Configuration

Posted on Thu 10 January 2013 in it

Netty HTTP Server相比Tomcat更加轻量之外,性能也会好得多,因为Tomcat默认是用的阻塞式IO。 到时候做性能比较测试时再增加一组打开非阻塞的Tomcat做对比,应该很有意思。

标准参数

protocol的取值: org.apache.coyote.http11.Http11Protocol - blocking Java connector org.apache.coyote.http11.Http11NioProtocol - non blocking Java connector org.apache.coyote.http11.Http11AprProtocol - the APR/native connector.

Samples: <Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"
connectionTimeout="20000"
redirectPort="8443" /> minProcessors:最小空闲连接线程数,用于提高系统处理性能,默认值为10 maxProcessors:最大连接线程数,即:并发处理的最大请求数,默认值为75 acceptCount:允许的最大连接数,应大于等于maxProcessors,默认值为100 enableLookups:是否反查域名,取值为:true或false。为了提高处理能力,应设置为false connectionTimeout:网络连接超时,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为30000毫秒

NIO特定参数

http://tomcat.apache.org/tomcat-7.0-doc/config/http.html#NIO_specific_configuration maxConnections:For NIO the default is 10000. For APR/native, the default is 8192. maxKeepAliveRequests: 默认100个 貌似NIO特定参数都用默认值就可以了。

Tomcat Connector比较

from http://tomcat.apache.org/tomcat-7.0-doc/config/http.html#Connector_Comparison
                       Java Blocking Connector   Java Non Blocking Connector   APR/native Connector
                                 BIO                         NIO                       APR
    Classname              Http11Protocol             Http11NioProtocol         Http11AprProtocol
    Tomcat Version           3.x onwards                 6.x onwards              5.5.x onwards
    Support Polling              NO                          YES                       YES
    Polling Size                 N/A                   maxConnections             maxConnections
    Read HTTP Request         Blocking                  Non Blocking                 Blocking
    Read HTTP Body            Blocking                  Sim Blocking                 Blocking
    Write HTTP Response       Blocking                  Sim Blocking                 Blocking
    Wait for next Request     Blocking                  Non Blocking               Non Blocking
    SSL Support               Java SSL                    Java SSL                   OpenSSL
    SSL Handshake             Blocking                  Non blocking                 Blocking
    Max Connections        maxConnections              maxConnections             maxConnections