Debian 上 Tomcat 性能优化要点
一 基线与环境准备
二 连接器与线程池调优
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
maxThreads="500" minSpareThreads="50" maxQueueSize="100"/>
<Connector executor="tomcatThreadPool"
port="8080" protocol="org.apache.coyote.http11.Http11Nio2Protocol"
connectionTimeout="20000" keepAliveTimeout="15000"
maxKeepAliveRequests="100"
redirectPort="8443" />
<Connector port="8443" protocol="org.apache.coyote.http2.Http2Protocol"
maxThreads="150" SSLEnabled="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>
三 JVM 与内存调优
-Xms4g -Xmx4g -server -XX:+UseG1GC -XX:MaxGCPauseMillis=200
-XX:+ParallelRefProcEnabled -XX:+HeapDumpOnOutOfMemoryError
-XX:+PrintGCDetails -XX:+PrintGCDateStamps
-Xms4g -Xmx4g -server -XX:+UseParallelGC
-XX:+PrintGCDetails -XX:+PrintGCDateStamps
-XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m
四 操作系统与网络栈优化
五 应用层、压缩缓存与监控落地
<Connector ... compression="on"
compressionMinSize="2048"
compressableMimeType="text/html,text/xml,text/plain,application/json,application/xml" />