tomcat 开启nio
来源:互联网 发布:北京办公软件速成班 编辑:程序博客网 时间:2024/06/10 07:33
http://www.cnblogs.com/ilahsa/archive/2013/01/31/2887149.html
从Tomcat6.0以后, Java开发者很容易就可以是用NIO的技术来提升tomcat的并发处理能力。
<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.Http11NioProtocol start的信息,表示NIO已经启动
https://www.oschina.net/question/answer?question=16195&answer=59614
Tomcat的四种基于HTTP协议的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 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。
尽管这一个结果在实际的网站中因为各方面因素导致,可能差别没这么大,例如受限于数据库的性能等等的问题。但对我们在部署网站应用时还是具有参考价值的。
- tomcat 开启nio
- Tomcat性能优化之开启Nio非阻塞模式
- Tomcat NIO
- tomcat nio
- Tomcat NIO
- tomcat nio
- Tomcat nio
- Apache Tomcat NIO设置
- 浅析tomcat nio 配置
- 浅析Tomcat NIO 配置
- tomcat nio配置
- 浅析tomcat nio 配置
- 浅析Tomcat NIO 配置
- Apache Tomcat NIO设置
- 浅析Tomcat NIO 配置
- tomcat设置nio模式
- tomcat NIO工作流程
- 浅析tomcat nio 配置
- Effective OC之熟悉Objective-C
- HDU5489-Removed Interval(LIS变形)
- C++作业6
- 写给自己的寄语
- 浮点数注意事项
- tomcat 开启nio
- 初识StringBuffer类
- Vampire Numbers
- 设计模式拾荒之责任链模式 ( Chain of Responsibility)
- 搭建完全分布式Hadoop
- Codeforces-535B Tavas and SaDDas
- Vscode使用技巧
- effective C++ 使用条款(二)——item34~item46总结
- SQL injection(转载)+博主思考