http://www.oschina.net/question/54100_16195
http://passover.blog.51cto.com/2431658/732629
http://jiangyongyuan.iteye.com/blog/361983
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。
尽管这一个结果在实际的网站中因为各方面因素导致,可能差别没这么大,例如受限于数据库的性能等等的问题。但对我们在部署网站应用时还是具有参考价值的。
相关推荐
- 使用NIO或 APR(Apache Portable Runtime)连接器提高性能。 - 缓存JSP编译结果,减少重载压力。 10. **故障排查**: - 查看logs目录下的日志文件,如catalina.out,以定位和解决问题。 - 使用JMX(Java ...
4. **连接器优化**:Tomcat 7的NIO(非阻塞I/O)和 APR(Apache Portable Runtime)连接器提供了更高的并发性能,适合处理高流量的Web应用程序。 5. **配置改进**:Tomcat 7的配置文件更加简洁,易于理解和管理。...
3. **NIO.2和APR**:Tomcat 9.0.21包含了对Java NIO.2的全面支持,以及可选的Apache Portable Runtime (APR)库,APR利用操作系统级别的特性,如sendfile和epoll,以提高性能和可伸缩性。 4. **JSP 2.3和EL 3.0**:...
此外,还可以通过调整线程池大小、开启NIO或多线程模式来提升性能。 9. **日志与调试**: Tomcat的日志信息对于问题排查至关重要。用户可以通过修改logging.properties文件来控制日志级别和输出。 10. **应用部署**...
8. **性能优化**:可以通过调整`server.xml`中的线程池设置、启用NIO连接器、增加JVM堆大小等方式优化Tomcat性能。 9. **集成其他应用服务器**:Tomcat可以与其他Java EE服务器(如JBoss、WebLogic)一起使用,作为...
- 提供非阻塞I/O(NIO)支持,提升高并发场景下的性能。 - 对其他操作系统功能的原生访问,如HTTP/2支持、SPDY协议等。 总之,"tomcat-native-1.2.10-win32-bin.zip" 是一个增强Tomcat性能和功能的重要组件,特别是...
另外,启用连接器的Keep-Alive功能和NIO模式可以提升性能。 7. **JNDI资源**:Tomcat支持JNDI(Java Naming and Directory Interface),可以在server.xml中配置数据源、邮件会话等资源,供Web应用程序使用。 8. *...
- Tomcat支持多种连接器(如NIO、NIO2、APR),不同连接器有不同的性能特点,可以根据需求选择。 - `server.xml`中的`<Connector>`元素用于配置连接器参数,如端口号、SSL配置等。 9. **集成其他服务器**: - ...
2. **NIO.2支持**:8.5版本引入了对Java New I/O 2 (NIO.2)的完全支持,提供了更好的并发性能和资源管理,特别是在高并发环境下。 3. **改进的连接器**:Tomcat 8.5改进了HTTP/1.1连接器,增强了异步处理能力,允许...
此外,还可以通过启用NIO(非阻塞I/O)或多线程模式来提高并发性能。 8. **监控与管理**:Tomcat内置了一个管理Web应用,通过`http://localhost:8080/manager/html`可以访问,管理员可以在此界面进行应用的部署、...
5. **性能优化**: Tomcat 5.5.26虽然是一款旧版本,但仍然可以通过调整配置参数实现性能优化,例如增加线程池大小,设置更大的内存分配,以及启用连接器的NIO模式来提高并发处理能力。 6. **兼容性与升级**: 考虑到...
2. **版本8.5.x**:Tomcat 8.5.x系列是Java EE 7兼容的,引入了许多新特性,包括改进的NIO.2支持,更强大的SSL配置,以及对WebSocket协议的支持。 3. **64位版本**:对于64位Windows系统,选择对应的x64安装版能...
11. **性能优化**:除了配置参数调整外,还可以通过开启NIO(非阻塞I/O)或APR(Apache Portable Runtime)来提高Tomcat的性能,APR利用操作系统的原生I/O库,可以显著提升处理速度。 12. **集成其他服务**:Tomcat...
3. **NIO和NIO2连接器**:Tomcat 8提供了两种高性能的连接器选择,非阻塞I/O(NIO)和非阻塞I/O 2(NIO2),以处理高并发的Web请求。 4. **安全管理器增强**:8.0.32版本改进了安全管理器,提供了更细粒度的权限...
Tomcat 8.5.x系列是Tomcat的一个重要版本,它引入了许多新特性,如增强的WebSocket支持、改进的NIO连接器、HTTP/2协议的支持等。8.5.35作为该系列的一个稳定版本,修复了前一版本的一些已知问题,提高了整体的稳定...
3. **NIO.2支持**:除了传统的BIO和NIO连接器外,Tomcat 8.5还引入了对Java NIO.2的支持,这提高了并发性能,特别是对于高流量网站。 4. **更好的安全性**:Tomcat 8.5包含了许多安全更新,如强化了默认的安全配置...
5. **性能优化**:Tomcat可以通过调整配置参数进行性能优化,例如修改最大线程数、开启连接器的NIO模式、设置连接超时等。此外,还可以使用Apache HTTP Server作为前端代理,以提高静态资源的处理能力。 6. **Web...
- 提供了NIO2连接器,提高了处理大量并发请求的能力。 - 更好的线程管理,减少了内存消耗,提高了整体性能。 2. **Linux环境下的安装与配置**: - 解压下载的`apache-tomcat-8.5.69.tar.gz`文件,通常使用`tar -...
4. **NIO2 Connector**:Tomcat 9.0引入了NIO2连接器,提供非阻塞I/O,适用于高并发场景,可以提高服务器性能。 5. **JAR Scanning**:为提高安全性,Tomcat现在可以扫描JAR文件中的特定元素,如TLDs,以便自动注册...
这个扩展可以显著提高Tomcat在处理SSL连接和NIO(非阻塞I/O)时的性能。"tomcat-native-1.2.25-src-build" 指的是该扩展的源代码版本1.2.25,用于编译生成适用于不同操作系统的本地库文件。 【编译过程】:下载的...