tomcat7.0.27的bio,nio.apr高级运行模式

来源:互联网 发布:淘宝违反数量限制规则 编辑:程序博客网 时间:2024/05/18 01:23
一 前言 
    tomcat的运行模式有3种.修改他们的运行模式.3种模式的运行是否成功,可以看他的启动控制台,或者启动日志.或者登录他们的默认页面http://localhost:8080/查看其中的服务器状态。 

二 bio 
默认的模式 blocking IO,性能非常低下,没有经过任何优化处理和支持. 

三 nio 
利用java的异步io护理技术,no blocking IO技术. 
想运行在该模式下,直接修改server.xml里的Connector节点,修改protocol为 
<Connector port="80" protocol="org.apache.coyote.http11.Http11NioProtocol" 
connectionTimeout="20000" 
URIEncoding="UTF-8" 
useBodyEncodingForURI="true" 
enableLookups="false" 
redirectPort="8443" /> 
启动后,就可以生效。性能得到初步优化但与apr相比,还是有一些差距。 

四 apr 
安装起来最困难,但是从操作系统级别来解决异步的IO问题,大幅度的提高性能. 
必须要安装apr和native,直接启动就支持apr。 
下面的修改纯属多余,仅供大家扩充知识,但仍然需要安装apr和native 
如nio修改模式,修改protocol为org.apache.coyote.http11.Http11AprProtocol 

五 补充 
1)安装APR的方法,请看我另一篇博客 http://blog.csdn.net/qq_31666147/article/details/51178219 ; 
2)关于性能数据请读者们自行研究,笔者不是在写教科书在此只是给出思路,性能研究是个很深的领域,请各位按需自行搭建环境测试; 
3)总的来说,bio是不推荐使用的,apr的模式推荐; 

itemprotocolRequests per secondBIOorg.apache.coyote.http11.Http11Protocol916.06 [#/sec] (mean)NIOorg.apache.coyote.http11.Http11NioProtocol2102.26 [#/sec] (mean)APRorg.apache.coyote.http11.Http11AprProtocol1997.24 [#/sec] (mean)
0 0