Tomcat从5.5版本 支持以下四种Connector的配置分别为:

来源:互联网 发布:大数据时代挑战与机遇 编辑:程序博客网 时间:2024/05/07 11:22
   <Connector port="9276"  protocol="org.apache.coyote.http11.Http11NioProtocol"        connectionTimeout="20000" redirectPort="8443"   maxThreads="500"       maxSpareThreads="20" minSpareThreads="20"  acceptConount="100" disableUploadTimeout="true" enableLookups="false"        URIEncoding="UTF-8"  useURIValidationHack="false"  useBodyEncodingForURI="true" compression="on" SSLEnabled="false"  compressionMinSize="2048" 
            compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"/>

Tomcat从5.5版本 支持以下四种Connector的配置分别为:

<Connector port="8081" protocol="org.apache.coyote.http11.Http11NioProtocol"                           connectionTimeout="20000" redirectPort="8443"/>
<Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000"
               redirectPort="8443"/>
 
<Connector executor="tomcatThreadPool"
               port="8081" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
<Connector executor="tomcatThreadPool"
               port="8081" protocol="org.apache.coyote.http11.Http11NioProtocol"
               connectionTimeout="20000"
               redirectPort="8443" />


我们姑且把上面四种Connector按照顺序命名为 NIO, HTTP, POOL, NIOP

为了不让其他因素影响测试结果,我们只对一个很简单的jsp页面进行测试,这个页面仅仅是输出一个Hello World。假设地址是 http://tomcat1/test.jsp

我们依次对四种Connector进行测试,测试的客户端在另外一台机器上用ab命令来完成,测试命令为: ab -c 900 -n 2000 http://tomcat1/test.jsp ,最终的测试结果如下表所示(单位:平均每秒处理的请求数):

 

NIO HTTP POOL NIOP28165208365666661103986926566263256639445944067145363

由这五组数据不难看出,HTTP的性能是很稳定,但是也是最差的,而这种方式就是Tomcat的默认配置。NIO方式波动很大,但没有低于280 的,NIOP是在NIO的基础上加入线程池,可能是程序处理更复杂了,因此性能不见得比NIO强;而POOL方式则波动很大,测试期间和HTTP方式一 样,不时有停滞。

由于linux的内核默认限制了最大打开文件数目是1024,因此此次并发数控制在900。

尽管这一个结果在实际的网站中因为各方面因素导致,可能差别没这么大,例如受限于数据库的性能等等的问题。但对我们在部署网站应用时还是具有参考价值的。

来自:http://www.javayou.com/diary/143691518


0 0
原创粉丝点击