Tomcat两种Http Connector的粗略测试比较

Tomcat有两种主要的Http Connector
org.apache.coyote.http11.Http11Protocol
支持参数:maxThreads,minSpareThreads,maxSpareThreads,acceptCount
org.apache.coyote.http11.Http11NioProtocol
支持参数:maxThreads

后者加入了Nio的运用,据说能提升性能

为了验证效果,粗略进行了测试,方法:
1)新建测试Servlet,其中做100,000,000次空循环
2)测试程序对测试Servlet同时发起一定数量的Http请求,看请求的成功率
3)调整参数和请求数量进行多轮测试,比较测试结果

测试结果:
1)Http11Protocol
并发请求从200逐步增加至1000。
在并发500以下的阶段时,在运行稳定后还是可以达到较高的请求成功率(90以上),但需要对应调高参数,如在并发500时,maxThreads=500,acceptCount=166
在并发500以上的阶段时,并发数再继续增加,成功率会明显下降,报大量“拒绝连接”错误;即使调高参数,效果并不明显。
在并发1000阶段,maxThreads=500,acceptCount=166,运行稳定后成功率大概在80
在并发1000以上阶段,很容易出现OutOfMemory错误(没有调大JVM内存,估计是
Socket连接不断增加,有没有及时释放)

2)Http11NioProtocol
并发数一直增加至1500,成功率都很高(接近100)。而且当前线程数基本维持在100-200水平,并没有随着并发数的增加而成比例增加;测试完后,可以很快看到线程数很快下降;内存也没有出现错误。

初步来看,Http11Protocol应对大并发量还是力不从心;Http11NioProtocol的优化效果则较明显,运行稳定、有效率且资源控制得较好。可进一步在实际环境中应用,在深入分析。

测试环境:
OS: Win7 32bit
Tomcat:6.0.26
RAM: 4G
CPU: P8700
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值