提升CentOS上Tomcat性能可从硬件、系统、Tomcat配置及监控等方面入手,具体如下:
硬件与系统优化
/etc/sysctl.conf
):net.core.somaxconn=65535 # 增大TCP连接队列
net.ipv4.tcp_tw_reuse=1 # 启用TCP连接复用
fs.file-max=65536 # 提高文件描述符限制
/etc/rc.local
中添加:echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
Tomcat配置优化
conf/server.xml
):<Executor name="tomcatThreadPool" maxThreads="500" minSpareThreads="50" maxIdleTime="60000"/>
<Connector port="8080" protocol="HTTP/1.1" maxThreads="500" minSpareThreads="50" acceptCount="200" connectionTimeout="20000" enableLookups="false" compression="on"/>
maxThreads
:设置为CPU核心数的2-4倍,处理高并发请求。minSpareThreads
:保持一定空闲线程,减少创建开销。enableLookups="false"
:禁用DNS反查,提升请求处理速度。compression="on"
:启用响应数据压缩,减少网络传输量。protocol="org.apache.coyote.http11.Http11Nio2Protocol"
),提升I/O性能。JVM参数优化
setenv.sh
):export CATALINA_OPTS="-Xms2g -Xmx4g -XX:MaxPermSize=512m -XX:+UseG1GC"
-Xms
和-Xmx
:设置初始堆和最大堆大小(建议为物理内存的80%),避免频繁GC。监控与调优工具
其他优化
注意:优化需结合实际业务负载,逐步调整并测试,避免过度配置导致资源浪费或稳定性问题。