CentOS 上提升 Tomcat 运行效率的实用方案
一 操作系统层优化
tomcat soft nofile 65536
tomcat hard nofile 65536
并在 systemd 服务单元中同步设置 LimitNOFILE=65536,确保服务进程继承该上限。net.core.somaxconn = 65535
net.ipv4.tcp_tw_reuse = 1
fs.file-max = 65536
执行 sysctl -p 使配置生效。echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
可加入开机启动脚本以确保持久化。二 JVM 层优化
CATALINA_OPTS="-Xms4g -Xmx4g -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m"
-XX:+UseParallelGC-XX:+UseG1GC -XX:MaxGCPauseMillis=200-Xloggc:/opt/tomcat/logs/gc.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps
三 Tomcat 连接器与线程池优化
<Connector port="8080" protocol="org.apache.coyote.http11.Http11Nio2Protocol"
connectionTimeout="20000" redirectPort="8443" />
<Executor name="tomcatThreadPool"
namePrefix="catalina-exec-"
maxThreads="300"
minSpareThreads="20"
prestartminSpareThreads="true"/>
<Connector executor="tomcatThreadPool"
port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
enableLookups="false"
compression="on"
maxKeepAliveRequests="100" />
四 应用与数据库层优化
五 监控验证与上线步骤