提升Linux上Tomcat性能可从JVM调优、Tomcat配置优化、操作系统调优三方面入手,具体如下:
JVM调优
catalina.sh
中设置JAVA_OPTS="-Xms2g -Xmx4g"
(根据服务器内存调整,建议设置为可用内存的80%)。-XX:+UseG1GC
(适合大内存、高并发场景)。-XX:+PrintGCDetails -XX:+PrintGCDateStamps
,便于分析内存回收情况。Tomcat配置优化
server.xml
,使用NIO协议:protocol="org.apache.coyote.http11.Http11NioProtocol"
。maxThreads=500
(最大线程数,根据并发量调整)、minSpareThreads=50
(最小空闲线程数)、acceptCount=200
(请求队列长度)。protocol="org.apache.coyote.http11.Http11Nio2Protocol"
,提升传输效率。web.xml
中启用缓存:<Resources cachingAllowed="true" cacheMaxSize="100000" />
,减少磁盘访问。操作系统调优
/etc/security/limits.conf
中添加* soft nofile 65536
和* hard nofile 65536
,避免连接数受限。sysctl -w net.ipv4.tcp_tw_reuse=1
(复用TIME_WAIT连接)、sysctl -w net.core.somaxconn=4096
(增加最大连接队列长度)。其他优化
enableLookups="false"
,减少请求处理时间。compression="on"
,压缩文本类响应(如JSON、HTML)。VisualVM
或Prometheus+Grafana
监控内存、线程状态,及时发现瓶颈。参考来源: