Linux上Tomcat性能调优方法
一 整体思路与瓶颈定位
二 JVM调优
三 Tomcat连接器与线程池
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
maxThreads="500" minSpareThreads="50" maxIdleTime="60000"/>
<Connector port="8080" protocol="org.apache.coyote.http11.Http11Nio2Protocol"
executor="tomcatThreadPool"
connectionTimeout="20000" redirectPort="8443"
enableLookups="false" compression="on"
compressionMinSize="2048"
compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"
URIEncoding="UTF-8" />
四 Linux系统层面优化
echo "* soft nofile 65536" >> /etc/security/limits.conf
echo "* hard nofile 65536" >> /etc/security/limits.conf
sysctl -w net.core.somaxconn=4096
sysctl -w net.ipv4.tcp_tw_reuse=1
sysctl -w net.ipv4.tcp_tw_recycle=0 # 在NAT/负载均衡环境常导致问题,建议关闭
sysctl -w net.ipv4.tcp_fin_timeout=60
sysctl -w net.ipv4.tcp_syn_retries=1
sysctl -w net.ipv4.tcp_synack_retries=1
sysctl -w net.core.rmem_max=1310720
sysctl -w net.core.wmem_max=1310720
sysctl -w net.ipv4.tcp_syncookies=1
# 可选:net.ipv4.tcp_fastopen=3(需客户端支持)
五 应用与运维实践