系统资源监控
top、htop、vmstat 等工具查看 CPU、内存、磁盘 I/O 和网络使用情况,重点关注 CPU 使用率是否长期接近 100%、内存频繁 GC 或磁盘 I/O 延迟高。jstat -gcutil <pid> 分析 JVM 垃圾回收情况,频繁的 Full GC 可能是内存瓶颈信号。日志分析
catalina.out 日志,搜索 “OutOfMemoryError”“线程阻塞” 等关键词,或通过 grep 统计错误频率。localhost_access_log),计算平均响应时间、错误率,识别响应慢的接口或资源。线程与连接分析
jstack <pid> 生成线程转储,分析线程状态(如 BLOCKED、WAITING),排查死锁或长时间占用 CPU 的线程。maxThreads、minSpareThreads),通过 server.xml 确认配置是否合理。数据库与外部服务
maxActive 参数)。配置优化
-Xms 和 -Xmx),选择低延迟 GC 算法(如 G1),设置合理的线程栈大小(-Xss)。maxThreads(建议设置为 CPU 核心数 × 200),调整 acceptCount 避免请求排队溢出。server.xml 中启用 NIO 模式(protocol="org.apache.coyote.http11.Http11NioProtocol"),设置 keepAliveTimeout 减少无效连接。资源与代码优化
compression="on"),配置 Nginx 缓存静态文件,减轻 Tomcat 压力。硬件与架构调整
监控与持续优化
通过以上步骤,可系统性识别并解决 Debian Tomcat 的性能瓶颈,确保系统稳定高效运行。