提高CentOS上Tomcat的稳定性可从以下方面入手:
调整内核参数
/etc/sysctl.conf
,优化网络缓冲区及连接数限制,如:net.core.somaxconn=65535
(最大连接队列长度)fs.file-max=65536
(最大文件描述符数)。sysctl -p
使配置生效。优化文件描述符限制
/etc/security/limits.conf
,增加用户进程可打开的文件数,例如:* soft nofile 65535
* hard nofile 65535
。线程池与连接器调优
conf/server.xml
中配置<Connector>
参数:
maxThreads
:根据CPU核心数设置为200-500(默认200),处理高并发请求。minSpareThreads
:设置为50-100,保持空闲线程快速响应。enableLookups="false"
:禁用DNS反查,减少延迟。protocol="org.apache.coyote.http11.Http11NioProtocol"
,提升I/O性能。JVM内存与GC优化
catalina.sh
中设置JAVA_OPTS
:
-Xms2g -Xmx2g
),避免频繁扩容。-XX:+UseG1GC
,适合大内存场景。-XX:NewRatio=3
(新生代占堆的1/4)。静态资源与压缩
web.xml
中配置ExpiresFilter
,减少重复加载。<Connector>
中添加compression="on"
,压缩响应数据。负载均衡与集群
<Cluster>
标签),启用会话复制,提升容错能力。监控与日志管理
catalina.out
),排查异常请求或内存泄漏问题。隐藏版本信息
conf/server.xml
中注释或删除Server
标签的版本号,降低被攻击风险。定期更新与备份
关键参数参考:
maxThreads=500
,minSpareThreads=100
,acceptCount=200
。-Xms2g -Xmx2g -XX:MaxMetaspaceSize=512m
(适用于4GB以上物理内存)。实施前建议在测试环境验证配置,逐步调整并监控效果,避免过度优化导致稳定性下降。