温馨提示×

Ubuntu Tomcat性能调优方法

小樊
43
2025-09-08 05:36:56
栏目: 智能运维

Ubuntu Tomcat性能调优方法

一、Tomcat自身配置优化

  1. 线程池调优
    • 修改conf/server.xml,配置<Executor>参数:
      • maxThreads:根据CPU核心数设置(建议200-2000),如maxThreads="500"
      • minSpareThreads:保持最小空闲线程数(建议20-50),如minSpareThreads="20"
      • acceptCount:设置等待队列长度(建议100-500),避免请求被过早拒绝。
    • 启用NIO或NIO2连接器:protocol="org.apache.coyote.http11.Http11Nio2Protocol",提升高并发性能。
  2. 禁用不必要功能
    • 关闭DNS查询:enableLookups="false"
    • 跳过TLD扫描:在conf/catalina.properties中添加org.apache.catalina.startup.ContextConfig.jarsToSkip=*

二、JVM调优

  1. 内存参数配置
    • 编辑bin/catalina.sh,设置堆内存:
      • -Xms512m -Xmx1024m(根据服务器内存调整,建议为物理内存的50%-70%)。
    • Java 8及以上版本使用元空间:-XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m
  2. 垃圾回收器选择
    • 推荐使用G1GC:-XX:+UseG1GC,适合大内存应用。

三、Linux内核优化

  1. 网络参数调整
    • 编辑/etc/sysctl.conf,增加以下参数:
      net.ipv4.tcp_tw_reuse=1  
      net.ipv4.tcp_fin_timeout=30  
      net.core.somaxconn=8192  
      net.core.rmem_max=16777216  
      net.core.wmem_max=16777216  
      
      执行sudo sysctl -p生效。
  2. 文件描述符限制
    • 执行ulimit -n 65535,提升系统最大文件句柄数。

四、应用与资源优化

  1. 静态资源处理
    • 将静态文件(图片、CSS、JS)托管到Nginx等Web服务器,减少Tomcat负载。
  2. 数据库连接池
    • 使用HikariCP或C3P0,配置合理连接数(如maxPoolSize=50)。
  3. 缓存机制
    • 启用Tomcat静态资源缓存:compression="on"并设置compressableMimeType

五、监控与验证

  • 工具监控:使用JConsole、VisualVM监控线程池、内存使用情况。
  • 日志分析:定期查看logs/catalina.out,排查内存泄漏或异常请求。

注意:所有参数需根据服务器硬件(CPU/内存)和应用负载调整,建议先在测试环境验证后再部署到生产环境。

0