Debian上Tomcat性能瓶颈排查与定位
一 快速定位流程
二 关键日志与指标
三 常见瓶颈与对应检查点
| 瓶颈类型 | 典型症状 | 快速检查 | 进一步验证 |
|---|---|---|---|
| CPU饱和 | load average高、响应变慢 | top/htop看热点线程 | jstack定位热点方法、火焰图 |
| 内存与GC | Full GC频繁、停顿长、OOM | jstat -gcutil、jmap -histo | 分析GC日志、检查对象生命周期 |
| 线程池不足 | 线程耗尽、排队、超时 | server.xml线程数、队列堆积 | jstack看线程阻塞/锁竞争 |
| 磁盘I/O | iowait高、请求排队 | iostat -x 1、df -h | 慢查询/大文件读写、日志滚动策略 |
| 数据库/后端 | DB慢、连接池打满 | 连接池监控、慢SQL | 调整池大小、索引与SQL |
| 网络 | 丢包/抖动、握手耗时 | ping、traceroute、mtr | ss -s观察重传与TIME_WAIT |
| SSL/随机数 | 启动或首次请求慢 | 观察熵源与SSL握手 | 优化securerandom.source、会话复用 |
| 日志I/O | 磁盘写满、延迟抖动 | 日志大小与滚动策略 | 异步日志、降低日志级别 |
| 以上症状与检查点可交叉验证,优先排除资源类瓶颈,再深入到应用与配置层面。 |
四 配置与优化要点
五 一键排查命令清单