标题
    
    
        Tomcat 6 支持 NIO -- Tomcat的四种基于HTTP协议的Connector性能比较
    
 
    
 	 
       
    
    clq
    
    
    
		
        浏览(0) + 
        2008-11-14 10:46:16 发表
        
编辑
         
        
        
        
        关键字: 
        
 
        
        
        
        
                
        Tomcat 6 支持 NIO -- Tomcat的四种基于HTTP协议的Connector性能比较
http://www.javayou.com/diary/143691518
--------------------------------------------------
2008年8月5日(星期二) 16点21分 作者: 红薯 天气: 心情: 一般
Tomcat从5.5版本开始,支持以下四种Connector的配置分别为:
               redirectPort="8443"/>
               port="8081" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
               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。
尽管这一个结果在实际的网站中因为各方面因素导致,可能差别没这么大,例如受限于数据库的性能等等的问题。但对我们在部署网站应用时还是具有参考价值的。
        
        
        
        		
		        
                
                
     
    
 
	
	
     
	
    NEWBT官方QQ群1: 276678893
    可求档连环画,漫画;询问文本处理大师等软件使用技巧;求档softhub软件下载及使用技巧.
    但不可"开车",严禁国家敏感话题,不可求档涉及版权的文档软件.
    验证问题说明申请入群原因即可.