Java Tomcat 访问缓慢是一个常见但原因很多的问题,通常可以从网络、服务器资源、Tomcat 配置、应用代码、数据库几个层面来排查。下面按最常见原因 → 排查方式 → 解决建议给你一个系统总结。
表现
top 看到 java 进程 CPU 很高原因
排查
top -Hp <pid>
jstack <pid> > thread.txt
看哪个线程 CPU 高,再对应线程栈。
✅ 解决:优化代码 / 减少同步 / 调整算法
表现
Full GC排查
jstat -gcutil <pid> 1000
如果 FGC 频繁、老年代一直满。
✅ 解决:
<Connector port="8080"
maxThreads="200"
acceptCount="100" />
问题
✅ 建议:
maxThreads="500"
acceptCount="200"
老版本 Tomcat 默认 BIO(慢)
✅ 使用:
protocol="org.apache.coyote.http11.Http11NioProtocol"
AccessLog 同步写磁盘会拖慢性能。
原因
✅ 排查:
show processlist;
✅ 解决:
✅ 解决:
✅ 解决:
-Xms2g -Xmx2g
-XX:+UseG1GC
-XX:MaxGCPauseMillis=200
你可以逐一确认:
如果你愿意,可以告诉我:
我可以帮你精准定位原因并给具体参数配置。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。