Tomcat6 四种Connector性能比较

Tomcat从5.5版本开始,支持以下四种Connector的配置分别为:
<Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"connectionTimeout="20000" redirectPort="8443"/>
<Connector port="8080" protocol="HTTP/1.1"connectionTimeout="20000" redirectPort="8443"/>
<Connector executor="tomcatThreadPool" port="8080"protocol="HTTP/1.1" connectionTimeout="20000"redirectPort="8443" />
<Connector executor="tomcatThreadPool" port="8080" 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 NIOP
281 65   208  365
666 66   110  398
692 65   66   263
256 63   94   459
440 67   145  363
由这五组数据不难看出,HTTP的性能是很稳定,但是也是最差的,而这种方式就是Tomcat的默认配置.NIO方式波动很大,但没有低于280的,NIOP是在NIO的基础上加入线程池,可能是程序处理更复杂了,因此性能不见得比NIO强;而POOL方式则波动很大,测试期间和HTTP方式一样,不时有停滞.由于linux的内核默认限制了最大打开文件数目是1024,因此此次并发数控制在900.尽管这一个结果在实际的网站中因为各方面因素导致,可能差别没这么大,例如受限于数据库的性能等等的问题.但对我们在部署网站应用时还是具有参考价值的.
我们来看一下配置,你只需要在server.xml里把HTTP Connector做如下更改,
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000" 
redirectPort="8443" />
改为
<Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"
connectionTimeout="20000" 
redirectPort="8443" />
然后启动服务器,你会看到org.apache.coyote.http11.Http11NioProtocolstart的信息,表示NIO已经启动.其他的配置请参考官方配置文档.参考文档:http://tomcat.apache.org/tomcat-6.0-doc/config/

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值