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堆大小。