从日志入手定位 Tomcat 并发问题的实用指南
一、快速判断是否存在并发瓶颈
| 现象 | 日志/指标 | 可能原因 |
|---|---|---|
| 吞吐下降、排队增多 | 访问日志响应时间变长、线程池活跃线程接近 maxThreads | 线程池瓶颈 |
| 新连接被拒绝或超时 | 错误日志出现连接拒绝/超时 | 超出 maxConnections 或 acceptCount 队列满 |
| 文件句柄不够 | java.net.SocketException: Too many open files | ulimit/系统 fd 限制过低 |
| 无法创建新线程 | java.lang.OutOfMemoryError: unable to create new native thread | 线程栈或系统资源不足 |
| 间歇性卡顿或 Full GC 长停顿 | GC 日志频繁 Full GC、停顿时间长 | 内存压力或泄漏导致并发回收抖动 |
| 以上现象与排查方向可结合访问日志、catalina.out、GC 日志与系统监控综合判断。 |
二、关键日志与配置项对照
三、从日志到根因的排查步骤
四、常见并发问题与日志特征对照
五、可直接套用的优化清单