温馨提示×

如何提升Linux上Tomcat性能

小樊
49
2025-08-24 02:34:42
栏目: 智能运维

提升Linux上Tomcat性能可从JVM调优、Tomcat配置优化、操作系统调优三方面入手,具体如下:

  • JVM调优

    • 调整堆内存大小:在catalina.sh中设置JAVA_OPTS="-Xms2g -Xmx4g"(根据服务器内存调整,建议设置为可用内存的80%)。
    • 选择高效垃圾回收器:添加-XX:+UseG1GC(适合大内存、高并发场景)。
    • 开启GC日志:添加-XX:+PrintGCDetails -XX:+PrintGCDateStamps,便于分析内存回收情况。
  • Tomcat配置优化

    • 连接器(Connector)调优
      • 修改server.xml,使用NIO协议:protocol="org.apache.coyote.http11.Http11NioProtocol"
      • 调整线程池参数:maxThreads=500(最大线程数,根据并发量调整)、minSpareThreads=50(最小空闲线程数)、acceptCount=200(请求队列长度)。
      • 启用HTTP/2协议(Tomcat 8.5+):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(增加最大连接队列长度)。
  • 其他优化

    • 禁用DNS反查:设置enableLookups="false",减少请求处理时间。
    • 压缩响应数据:在连接器中添加compression="on",压缩文本类响应(如JSON、HTML)。
    • 监控与调优:使用VisualVMPrometheus+Grafana监控内存、线程状态,及时发现瓶颈。

参考来源:

0