优化CentOS上的Tomcat性能可从以下方面入手:
-Xms和-Xmx设置初始堆和最大堆大小(建议设为相同值,避免频繁GC),如-Xms2g -Xmx2g。-XX:+UseG1GC,适合大内存场景。Http11NioProtocol/Http11Nio2Protocol),提升并发处理能力。server.xml中通过<Executor>设置maxThreads(最大线程数,如500)、minSpareThreads(最小空闲线程数,如50)。connectionTimeout(如20000ms)、acceptCount(等待队列长度,如1000)。/etc/security/limits.conf,增加nofile限制(如* soft nofile 65536)。/etc/sysctl.conf,设置net.core.somaxconn=65535、tcp_tw_reuse=1等参数。/etc/rc.local中添加echo never /sys/kernel/mm/transparent_hugepage/enabled。server.xml中启用缓存(cachingAllowed="true"),减少磁盘访问。compression="on"启用Gzip压缩,减少传输数据量。enableLookups="false")或AJP连接器。配置示例(setenv.sh):
export CATALINA_OPTS="-Xms2g -Xmx2g -XX:+UseG1GC -Djava.awt.headless=true"
配置示例(server.xml):
<Connector port="8080" protocol="org.apache.coyote.http11.Http11Nio2Protocol"
maxThreads="500" minSpareThreads="50" maxConnections="10000"
compression="on" compressableMimeType="text/html,text/css,application/json" />
根据实际负载调整参数,优先测试验证后再上线。