温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

java tomcat怎么调优参数

发布时间:2026-09-22 13:33:00 来源:亿速云 阅读:85 作者:小樊 栏目:编程语言

Tomcat 调优通常分为 JVM 调优、Connector 调优、线程池调优、系统/操作系统层面调优 几个方向。下面按“常用参数 + 示例 + 说明”来讲。


一、JVM 调优(最重要)

1️⃣ 堆内存设置(catalina.sh / catalina.bat)

JAVA_OPTS="-Xms2g -Xmx2g -Xmn512m"
  • -Xms:初始堆大小(建议 = 最大堆,避免抖动)
  • -Xmx:最大堆大小
  • -Xmn:年轻代大小

一般规则:
Xmx = 物理内存的 50%~70%
Xms = Xmx


2️⃣ 垃圾回收器(JDK8+ 推荐 G1)

JAVA_OPTS="$JAVA_OPTS -XX:+UseG1GC -XX:MaxGCPauseMillis=200"

JDK11+:

-XX:+UseG1GC

JDK17 可尝试 ZGC(低延迟):

-XX:+UseZGC

3️⃣ GC 日志(排查问题必备)

-XX:+PrintGCDetails
-XX:+PrintGCDateStamps
-Xloggc:/opt/tomcat/logs/gc.log

JDK9+:

-Xlog:gc*:file=/opt/tomcat/logs/gc.log:time

二、Connector(HTTP)调优

1️⃣ server.xml 核心参数

<Connector
    port="8080"
    protocol="org.apache.coyote.http11.Http11Nio2Protocol"
    maxThreads="500"
    minSpareThreads="50"
    acceptCount="1000"
    maxConnections="10000"
    connectionTimeout="20000"
    keepAliveTimeout="15000"
    maxKeepAliveRequests="100"
    compression="on"
    compressionMinSize="2048"
/>

2️⃣ 参数说明

参数 说明
maxThreads 最大工作线程数
minSpareThreads 最小空闲线程
acceptCount 队列等待数
maxConnections 最大连接数
connectionTimeout 连接超时(ms)
keepAliveTimeout 长连接超时
compression 开启 gzip

三、线程池(Executor)方式(推荐)

1️⃣ 定义线程池

<Executor
    name="tomcatThreadPool"
    namePrefix="catalina-exec-"
    maxThreads="800"
    minSpareThreads="100"
    maxQueueSize="1000"/>

2️⃣ Connector 引用

<Connector executor="tomcatThreadPool" port="8080" protocol="HTTP/1.1"/>

✅ 更适合高并发场景


四、关闭不需要的功能

1️⃣ 关闭 AJP(不用 Apache 时)

<!-- 注释或删除 -->
<!-- <Connector port="8009" protocol="AJP/1.3" /> -->

2️⃣ 关闭自动部署(生产环境)

<Host name="localhost" appBase="webapps"
      unpackWARs="true" autoDeploy="false">

五、操作系统层面优化

Linux

# 文件描述符
ulimit -n 65535
# 内核参数
net.core.somaxconn=65535
net.ipv4.tcp_tw_reuse=1

六、常见调优经验值(参考)

场景 配置
普通 Web maxThreads=200~500
高并发 API maxThreads=800~1000
内存 Xmx=4~8G
GC G1

七、调优思路总结

  1. 先看监控(CPU、内存、线程、GC)
  2. 再调 JVM
  3. 再调 Tomcat 线程 & 连接
  4. 最后系统参数

如果你愿意,可以告诉我:

  • Tomcat 版本
  • JDK 版本
  • 并发量 / QPS
  • 应用类型(API / 管理后台 / 文件上传)

我可以直接给你一套可落地的参数配置。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手