Tomcat性能优化若干建议

1.安全性配置:

去掉自动解压,自动启动的配置。
去掉远程关闭的配置(禁用8005端口)
去掉或者隐藏版本号
删除管理员页面及相关配置文件

2.性能优化:
将AJP服务禁用掉即可(注释掉)
优化并发数
增大初始化线程数
增大队列等待数
增加闲置线程的存活时间,另外,tomcat有四种http协议类型,具体对比结果如下:
<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" />
性能对比如下:
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方式一 样,不时有停滞。
【tomcat8以后提供了NIO2,请优先使用NiO2】

结论:采用单独的NIO(tomcat8以后请使用NIO2)方式最简单,最优~!?

posted @ 2020-10-31 11:56  Shapley  阅读(83)  评论(0编辑  收藏  举报