Debian系统下Tomcat性能调优实战指南
一 基线与环境准备
二 连接器与线程池优化
<!-- 共享线程池 -->
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
maxThreads="500" minSpareThreads="50" maxQueueSize="100"/>
<!-- HTTP/1.1 NIO -->
<Connector executor="tomcatThreadPool"
port="8080" protocol="org.apache.coyote.http11.Http11Nio2Protocol"
connectionTimeout="20000" redirectPort="8443"
enableLookups="false" compression="on"
compressionMinSize="2048"
compressableMimeType="text/html,text/xml,text/plain,text/css,text/javascript,application/javascript"/>
<!-- HTTP/2 over TLS -->
<Connector port="8443" protocol="org.apache.coyote.http2.Http2Protocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true">
<SSLHostConfig>
<Certificate certificateKeyFile="conf/localhost-rsa-key.pem"
certificateFile="conf/localhost-rsa-cert.pem"
certificateChainFile="conf/localhost-rsa-chain.pem" type="RSA" />
</SSLHostConfig>
</Connector>
<!-- 如不使用AJP,可注释或删除
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
-->
注:上述参数需结合压测逐步微调,避免一次性拉满导致上下文切换或内存压力激增。三 JVM与内存调优
# 示例:4C8G机器,容器化/虚拟化环境请按实际下调
export CATALINA_OPTS="\
-server \
-Xms4g -Xmx4g \
-Xmn1g \
-XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m \
-XX:+UseG1GC \
-XX:MaxGCPauseMillis=200 \
-XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xlog:gc*:file=/opt/tomcat/logs/gc.log:time,tags"
提示:GC日志有助于定位停顿与晋升异常,务必开启并定期回看。四 操作系统与网络调优
五 监控验证与常见误区