Debian上优化Tomcat响应时间的实用步骤
一 连接器与线程池优化
<!-- HTTP/1.1 NIO2 -->
<Connector port="8080" protocol="org.apache.coyote.http11.Http11Nio2Protocol"
connectionTimeout="20000" redirectPort="8443" />
<!-- HTTP/2 over TLS -->
<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>
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
maxThreads="500" minSpareThreads="50" maxQueueSize="100"/>
<Connector executor="tomcatThreadPool" port="8080" protocol="HTTP/1.1"
connectionTimeout="20000" redirectPort="8443" />
<Connector port="8080" protocol="HTTP/1.1" compression="on"
compressableMimeType="text/html,text/xml,text/plain,application/json,application/xml"
compressionMinSize="1024" />
二 JVM调优
export CATALINA_OPTS="-server -Xms2g -Xmx2g -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m"
export CATALINA_OPTS="$CATALINA_OPTS -XX:+UseG1GC"
# 或
export CATALINA_OPTS="$CATALINA_OPTS -XX:+UseParallelGC"
三 操作系统与网络栈优化
sudo sysctl -w net.core.somaxconn=4096
sudo sysctl -w net.ipv4.tcp_tw_reuse=1
四 应用与数据层优化
五 监控验证与回滚
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs" prefix="access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />