Tomcat6 Tomcat7对比测试

本文首先简述了Tomcat7的新特性和增强功能。然后对比tomcat6做了性能测试,测试结果表明,tomcat7的在性能上没有明显的提升,而主要贡献在于Servlet 3.0,内存检测泄露和增强的安全特性。

1 Tomcat7的特性

目前tomcat7已经发布到第34个版本(tomcat7.0.34),而tomcat6现在的版本是6.0.36,所以就bug修改来说,应该算是比较稳定了。

Tomcat7新特性:

1. 使用随机数去防止跨站脚本攻击;

2. 改变了安全认证中的jessionid的机制,防止session攻击;

3. 内存泄露的侦测和防止;

4. 在war文件外使用别名去存储静态内容;

Tomcat7的增强功能:

5 对Servlet 3.0,JSP 2.2和JSP-EL 2.2的支持;

6 更容易将Tomcat内嵌到应用去中去,比如JBoss;

7 异步日志记;

根据Mark Thomas,Tomcat 7委员会的经理的说法,Tomcat 7最显著的三个特征是Servlet 3.0,内存检测泄露和增强的安全特性。不过从变更中没有看到Tomcat7在性能方面的提升,下面测试一下性能。

2 性能测试 2.1 处理静态请求 2.1.1Tomcat6处理静态请求

命令:ab -n 40000 -c 2000 :8080/about.html

Timeper request: 118.038 [ms] (mean)

Timeper request: 115.213 [ms] (mean)

Timeper request: 118.873 [ms] (mean)

Timeper request: 125.233 [ms] (mean)

Timeper request: 118.147 [ms] (mean)

平均 119.101 [ms] (mean)

2.1.2Tomcat7处理静态请求

命令:ab -n 40000 -c 2000 :8080/about.html

Timeper request: 116.968 [ms] (mean)

Timeper request: 119.298 [ms] (mean)

Timeper request: 120.927 [ms] (mean)

Timeper request: 119.914 [ms] (mean)

Timeper request: 123.141 [ms] (mean)

平均 120.050 [ms] (mean)

2.2 请求动态请求

由于ApacheBench或者Webbench都不支持URL中存在类似loginAction!login.action字符串,而在视频去中action都是类似拼接的,这里只能用jmeter测试向Tomcat6/7发送验证登陆信息请求,故结果数据只做本节内对比,不与上节对比。

2.2.1Tomca6处理动态信息

700并发 循环发送5次

:8080/loginAction!login.action?indexcode=abc&password=e10adc3949ba59abbe56e057f20f883e

平均3218.000 [ms] (mean)

2.2.2Tomcat7处理动态信息

700并发 循环发送5次

:8080/loginAction!login.action?indexcode=abc&password=e10adc3949ba59abbe56e057f20f883e

平均3371.333 [ms] (mean)

2.3 性能测试小结

从处理静态请求看,tomcat6平均119.101 [ms],tomcat7平均120.050 [ms],Tomcat7响应性能没有提升。

从处理动态请求看,tomcat6平均3218.000 [ms],tomcat7平均3371.333 [ms]也没有提升。

3 总结

本文首先简述了Tomcat7的新特性和增强功能。然后对比tomcat6做了性能测试,测试结果表明,tomcat7的在性能上没有明显的提升,而主要贡献在于Servlet 3.0,内存检测泄露和增强的安全特性。

linux

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/64ea492d91d3f54fced95a62be4a1d10.html