提升CentOS下Tomcat性能可从硬件、系统、Tomcat配置及监控等方面入手,具体如下:
-
硬件与系统优化
- 确保服务器硬件性能(高速CPU、大内存、SSD硬盘)。
- 调整内核参数(如
/etc/sysctl.conf中设置net.core.somaxconn=65535、tcp_tw_reuse=1等)。 - 编辑
/etc/security/limits.conf,增加文件描述符限制(* soft nofile 65536)。 - 禁用透明大页(编辑
/etc/rc.local添加echo never /sys/kernel/mm/transparent_hugepage/enabled)。
-
JVM内存调优
- 修改
catalina.sh,设置-Xms(初始堆)和-Xmx(最大堆)为物理内存的80%(如-Xms2g -Xmx4g)。 - 选择高效垃圾回收器(如G1):
-XX:+UseG1GC。
- 修改
-
Tomcat配置优化
- 线程池:在
server.xml中配置Executor,合理设置maxThreads(如500-3000)、minSpareThreads(如50)。 - 连接器:启用NIO协议(
protocol="org.apache.coyote.http11.Http11NioProtocol"),设置maxConnections(如10000)、acceptCount(如500)。 - 压缩与缓存:启用响应压缩(
compression="on"),配置静态资源缓存。 - 关闭非必要功能:如管理界面、AJP协议、war包自动部署。
- 线程池:在
-
网络与集群优化
- 优化防火墙规则,限制非必要流量。
- 使用Nginx等反向代理实现负载均衡,分担Tomcat压力。
-
监控与调优
- 使用JVisualVM、Prometheus等工具监控JVM内存、线程状态。
- 定期进行压力测试(如JMeter),根据结果调整参数。
操作前建议先在测试环境验证,避免影响生产环境稳定性。