`

Tomcat 6 支持 NIO -- Tomcat的四种基于HTTP协议的Connector性能比较

阅读更多

Tomcat从5.5版本开始,支持以下四种Connector的配置分别为:

1.<Connector port="8081" protocol="org.apache.coyote.http11.Http11NioProtocol" connectionTimeout="20000" redirectPort="8443"/> 
2.<Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" 
              redirectPort="8443"/> 
3.<Connector executor="tomcatThreadPool" 
              port="8081" protocol="HTTP/1.1" 
              connectionTimeout="20000" 
              redirectPort="8443" /> 
4.<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。

      尽管这一个结果在实际的网站中因为各方面因素导致,可能差别没这么大,例如受限于数据库的性能等等的问题。但对我们在部署网站应用时还是具有参考价值的.

 

http://blog.csdn.net/qq66921494/archive/2009/09/22/4581400.aspx

分享到:
评论
2 楼 zhangskills 2011-08-31  
不错,好文章
1 楼 yoo_bj 2010-11-18  
采用HTTP方式会有那么低吗?!在无数据链接的情况下并发才那么少。我对这组数据表示怀疑。

相关推荐

    tomcat6-server-and-src

    Tomcat 6支持Java Servlet 2.5和JSP 2.1规范,这两个规范为开发动态Web内容提供了强大的工具。通过Tomcat,开发者能够部署和管理基于Java技术的Web应用,包括简单的静态HTML页面、复杂的动态内容以及企业级的Web服务...

    Tomcat-6-Windows-x86+Tomcat-7-Windows-x64+Tomcat-8-Windows-x64

    - **性能优化**:Tomcat 7引入了NIO2和 APR(Apache Portable Runtime)连接器,提高了并发性能。 3. **Tomcat 8** - **概述**:Tomcat 8是Java EE 7规范的实现,于2013年发布,带来了更多增强和改进。 - **特点...

    tomcat-native-1.2.25-src-build

    这个扩展可以显著提高Tomcat在处理SSL连接和NIO(非阻塞I/O)时的性能。"tomcat-native-1.2.25-src-build" 指的是该扩展的源代码版本1.2.25,用于编译生成适用于不同操作系统的本地库文件。 【编译过程】:下载的...

    apache-tomcat-9.0.0.M6-windows-x64

    2. **线程模型**:Tomcat采用基于NIO(非阻塞I/O)的Connector实现,提高了处理大量并发请求的能力。NIO模式允许一个线程服务于多个请求,提升了系统资源利用率。 3. **部署与配置**:在“apache-tomcat-9.0.0.M6”...

    tomcat-connectors-1.2.40-src.zip

    1. AJP协议:AJP(Apache JServ Protocol)是一种轻量级的通信协议,主要用于Web服务器(如Apache HTTPD)与应用服务器(如Tomcat)之间的通信。Ajp13Protocol处理AJP请求,提高Web服务器和应用服务器之间的通信效率...

    apache-tomcat-7.0.62-src和apache-tomcat-6.0.39-src的源码

    3. **NIO2支持**:Tomcat 7引入了对Java NIO2的支持,提高了I/O性能。 4. **JMX改进**:增强了Java Management Extensions (JMX)的集成,方便监控和管理Tomcat实例。 5. **安全管理增强**:Tomcat 7提供了更强大的...

    apache-tomcat-8.5.97-windows-x.zip

    - Tomcat 8.5.x是Tomcat的一个主要版本,它支持Java EE 8 Web Profile规范。 - 版本8.5.97是该系列中的一个更新,通常包含了错误修复、安全更新和性能优化。 3. **Windows 版本**: - 对于Windows用户,Tomcat...

    apache-tomcat-7.0.50-windows-x86

    6. **安全性**:Tomcat提供基于角色的访问控制(RBAC)以及SSL/TLS支持,通过修改server.xml的和&lt;Security-constraint&gt;元素来实现。 7. **JMX(Java Management Extensions)**:Tomcat 7.0.50支持JMX,允许远程...

    tomcat-connectors-1.2.27-src.tar.gz

    Tomcat Connectors,也称为Coyote,是Apache Tomcat服务器的核心组件之一,它负责处理网络连接和HTTP协议。在深入理解Tomcat Connectors之前,我们需要先了解Tomcat的基本架构。Tomcat作为一款开源的Java Servlet...

    jakarta-tomcat-connectors-1.2.15-src.zip

    1. **理解HTTP协议**:通过阅读Coyote Connector的源码,可以深入理解HTTP协议的处理流程。 2. **优化性能**:源代码允许开发者调整连接器参数,以优化服务器性能,例如调整线程池大小、缓冲区大小等。 3. **自定义...

    apache-tomcat-7.0.59-windows-x64

    7. **连接器和协议支持**:Tomcat支持多种连接器(Connector),如HTTP/1.1和AJP,用于与Web服务器(如Apache HTTP Server)集成,实现负载均衡和更好的性能。 8. **安全管理**:Tomcat 7.0.59提供了一套基础的安全...

    最新版windows apache-tomcat-9.0.54-windows-x64.zip

    4. **NIO2 Connector**:Tomcat 9.0引入了NIO2连接器,提供非阻塞I/O,适用于高并发场景,可以提高服务器性能。 5. **JAR Scanning**:为提高安全性,Tomcat现在可以扫描JAR文件中的特定元素,如TLDs,以便自动注册...

    apache-tomcat-8.0.48-windows-x86.zip

    - **连接器**:Tomcat支持多种类型的连接器,如NIO(非阻塞I/O)、APR(Apache Portable Runtime,利用操作系统级别的特性提高性能)等。 - **国际化支持**:通过修改`conf/server.xml`的`Connector`元素,可以支持...

    apache-tomcat-8.0.zip

    - Tomcat 8.0支持HTTP/1.1和部分HTTP/2,`Connector`元素可配置NIO、NIO2和APR(Apache Portable Runtime)等不同的连接器模型。 8. **模块化架构**: - Tomcat 8引入了Catalina、Jasper、Juli等模块,使得组件更...

    apache-tomcat-9.0.43-windows-x64.zip

    - Tomcat支持多种连接器(如NIO、NIO2、APR),不同连接器有不同的性能特点,可以根据需求选择。 - `server.xml`中的`&lt;Connector&gt;`元素用于配置连接器参数,如端口号、SSL配置等。 9. **集成其他服务器**: - ...

    apache-tomcat-7.0.81-src 源码免费下载

    源码的下载对于开发者来说极其重要,因为它提供了深入理解Tomcat工作原理的机会,有助于优化性能、调试问题或定制特定功能。 在"apache-tomcat-7.0.81-src"这个压缩包中,你将获得Tomcat 7.0.81版本的完整源代码,...

    apache-tomcat-8.5.38-src.zip

    此版本在性能、稳定性和安全性上都有所提升,同时引入了新的功能和改进,如更好的NIO(非阻塞I/O)支持和HTTP/2协议。 **2. 源代码** "apache-tomcat-8.5.38-src"中的源代码允许开发者深入了解Tomcat的工作原理,这...

    tomcat-8.5.50-windows-x64.zip

    8. **连接器(Connector)**:Tomcat支持多种协议的连接器,如HTTP/1.1、AJP(Apache JServ Protocol),用于处理客户端请求。默认情况下,Tomcat使用HTTP/1.1连接器,监听8080端口。 9. **性能优化**:Tomcat可以...

    apache-tomcat-8.0.18

    8. **性能优化**:Tomcat提供了许多性能优化选项,包括调整线程池大小、启用NIO(非阻塞I/O)模式、使用 APR(Apache Portable Runtime)库来提高性能。 9. **故障排查**:当遇到问题时,日志文件(位于logs目录)...

    apache-tomcat-7.0.63-windows-x86.zip

    6. **性能优化**:Tomcat 7.0.x版本引入了许多性能优化,包括线程池管理、NIO(非阻塞I/O)连接器等,以提高服务器处理请求的速度。 7. **兼容性**:Tomcat 7.0.x版本兼容Java EE 6规范,可以运行符合该规范的Web...

Global site tag (gtag.js) - Google Analytics