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
分享到:
相关推荐
Tomcat 6支持Java Servlet 2.5和JSP 2.1规范,这两个规范为开发动态Web内容提供了强大的工具。通过Tomcat,开发者能够部署和管理基于Java技术的Web应用,包括简单的静态HTML页面、复杂的动态内容以及企业级的Web服务...
- **性能优化**:Tomcat 7引入了NIO2和 APR(Apache Portable Runtime)连接器,提高了并发性能。 3. **Tomcat 8** - **概述**:Tomcat 8是Java EE 7规范的实现,于2013年发布,带来了更多增强和改进。 - **特点...
这个扩展可以显著提高Tomcat在处理SSL连接和NIO(非阻塞I/O)时的性能。"tomcat-native-1.2.25-src-build" 指的是该扩展的源代码版本1.2.25,用于编译生成适用于不同操作系统的本地库文件。 【编译过程】:下载的...
4. **NIO2 Connector**: Tomcat 10.0默认使用NIO2连接器,这提供了更好的并发性能和更低的内存消耗,尤其是在高并发场景下。 5. **JAR扫描优化**: 新版本对JAR扫描进行了优化,减少了启动时间和内存占用,特别是在...
2. **线程模型**:Tomcat采用基于NIO(非阻塞I/O)的Connector实现,提高了处理大量并发请求的能力。NIO模式允许一个线程服务于多个请求,提升了系统资源利用率。 3. **部署与配置**:在“apache-tomcat-9.0.0.M6”...
1. AJP协议:AJP(Apache JServ Protocol)是一种轻量级的通信协议,主要用于Web服务器(如Apache HTTPD)与应用服务器(如Tomcat)之间的通信。Ajp13Protocol处理AJP请求,提高Web服务器和应用服务器之间的通信效率...
3. **NIO2支持**:Tomcat 7引入了对Java NIO2的支持,提高了I/O性能。 4. **JMX改进**:增强了Java Management Extensions (JMX)的集成,方便监控和管理Tomcat实例。 5. **安全管理增强**:Tomcat 7提供了更强大的...
- Tomcat 8.5.x是Tomcat的一个主要版本,它支持Java EE 8 Web Profile规范。 - 版本8.5.97是该系列中的一个更新,通常包含了错误修复、安全更新和性能优化。 3. **Windows 版本**: - 对于Windows用户,Tomcat...
6. **安全性**:Tomcat提供基于角色的访问控制(RBAC)以及SSL/TLS支持,通过修改server.xml的和<Security-constraint>元素来实现。 7. **JMX(Java Management Extensions)**:Tomcat 7.0.50支持JMX,允许远程...
Tomcat Connectors,也称为Coyote,是Apache Tomcat服务器的核心组件之一,它负责处理网络连接和HTTP协议。在深入理解Tomcat Connectors之前,我们需要先了解Tomcat的基本架构。Tomcat作为一款开源的Java Servlet...
1. **理解HTTP协议**:通过阅读Coyote Connector的源码,可以深入理解HTTP协议的处理流程。 2. **优化性能**:源代码允许开发者调整连接器参数,以优化服务器性能,例如调整线程池大小、缓冲区大小等。 3. **自定义...
7. **连接器和协议支持**:Tomcat支持多种连接器(Connector),如HTTP/1.1和AJP,用于与Web服务器(如Apache HTTP Server)集成,实现负载均衡和更好的性能。 8. **安全管理**:Tomcat 7.0.59提供了一套基础的安全...
4. **NIO2 Connector**:Tomcat 9.0引入了NIO2连接器,提供非阻塞I/O,适用于高并发场景,可以提高服务器性能。 5. **JAR Scanning**:为提高安全性,Tomcat现在可以扫描JAR文件中的特定元素,如TLDs,以便自动注册...
- **连接器**:Tomcat支持多种类型的连接器,如NIO(非阻塞I/O)、APR(Apache Portable Runtime,利用操作系统级别的特性提高性能)等。 - **国际化支持**:通过修改`conf/server.xml`的`Connector`元素,可以支持...
- Tomcat 8.0支持HTTP/1.1和部分HTTP/2,`Connector`元素可配置NIO、NIO2和APR(Apache Portable Runtime)等不同的连接器模型。 8. **模块化架构**: - Tomcat 8引入了Catalina、Jasper、Juli等模块,使得组件更...
- Tomcat支持多种连接器(如NIO、NIO2、APR),不同连接器有不同的性能特点,可以根据需求选择。 - `server.xml`中的`<Connector>`元素用于配置连接器参数,如端口号、SSL配置等。 9. **集成其他服务器**: - ...
源码的下载对于开发者来说极其重要,因为它提供了深入理解Tomcat工作原理的机会,有助于优化性能、调试问题或定制特定功能。 在"apache-tomcat-7.0.81-src"这个压缩包中,你将获得Tomcat 7.0.81版本的完整源代码,...
此版本在性能、稳定性和安全性上都有所提升,同时引入了新的功能和改进,如更好的NIO(非阻塞I/O)支持和HTTP/2协议。 **2. 源代码** "apache-tomcat-8.5.38-src"中的源代码允许开发者深入了解Tomcat的工作原理,这...
8. **连接器(Connector)**:Tomcat支持多种协议的连接器,如HTTP/1.1、AJP(Apache JServ Protocol),用于处理客户端请求。默认情况下,Tomcat使用HTTP/1.1连接器,监听8080端口。 9. **性能优化**:Tomcat可以...
8. **性能优化**:Tomcat提供了许多性能优化选项,包括调整线程池大小、启用NIO(非阻塞I/O)模式、使用 APR(Apache Portable Runtime)库来提高性能。 9. **故障排查**:当遇到问题时,日志文件(位于logs目录)...