Linux Tomcat性能调优可从系统、JVM、Tomcat配置等多方面入手,以下是关键技巧:
系统层面优化
ulimit -n
命令或修改/etc/security/limits.conf
,提升系统允许的最大文件描述符数量(如设置为65536),避免高并发下连接被拒绝。/etc/sysctl.conf
,设置net.ipv4.tcp_tw_reuse=1
(复用TIME_WAIT连接)、net.core.somaxconn=4096
(增大连接队列),并执行sysctl -p
生效。JVM参数调优
-Xms
和-Xmx
设置初始堆和最大堆大小(建议设置为相同值,如-Xms2g -Xmx2g
),避免频繁GC;使用-XX:MaxMetaspaceSize
控制元空间大小(JDK 8+)。-XX:+UseG1GC
),可设置-XX:MaxGCPauseMillis
控制最大停顿时间;低延迟场景可选CMS(-XX:+UseConcMarkSweepGC
,JDK 11已移除)。Tomcat配置优化
server.xml
中配置Connector
的maxThreads
(最大线程数,如500)、minSpareThreads
(最小空闲线程数,如50)、acceptCount
(等待队列长度,如200),并启用NIO协议(protocol="org.apache.coyote.http11.Http11NioProtocol"
)提升并发能力。compression="on"
开启HTTP压缩(支持gzip
),并设置compressableMimeType
指定压缩类型;对静态资源启用客户端缓存(<Context cachingAllowed="true" cacheMaxSize="100000" />
)。AccessLogValve
)或Connector(如AJP协议),减少资源占用。数据库与连接池优化
maxActive
(最大连接数)、maxIdle
(最大空闲连接数)、minIdle
(最小空闲连接数),避免连接泄漏。监控与调优工具
catalina.out
和访问日志,定位慢请求或异常,针对性优化代码或配置。架构优化
注意事项:调优需结合应用场景和硬件资源,优先通过监控定位瓶颈,避免盲目调整参数。例如,高并发场景优先优化线程池和连接器,内存不足时调整JVM堆大小。