CentOS下Tomcat日志中的性能瓶颈主要体现在以下方面,可通过对应日志特征及工具分析解决:
线程池瓶颈:
java.lang.OutOfMemoryError: unable to create new native thread,或currentThreadsBusy持续接近maxThreads。maxThreads过低)或存在线程阻塞(如同步代码、慢查询)。server.xml中maxThreads(建议设为CPU核心数×200)、minSpareThreads,优化代码减少阻塞。内存不足:
OutOfMemoryError: Java heap space,或日志中显示堆内存使用率持续高位。-Xms/-Xmx)设置过小或存在内存泄漏。-XX:+UseG1GC优化GC,排查代码中未释放的对象引用。数据库连接池瓶颈:
activeCount接近maxActive。maxActive过小)或SQL执行效率低。maxActive、maxIdle),优化SQL语句,添加索引,使用连接池监控工具。磁盘I/O瓶颈:
iostat显示磁盘使用率过高。compression="on"),定期归档日志,升级至SSD存储。网络带宽瓶颈:
bytesReceived/bytesSent异常高。compression="on"),优化静态资源缓存。日志配置不当:
INFO,启用异步日志(AsyncLogger),简化日志格式。分析工具:
awk/grep筛选关键指标(如慢查询、异常堆栈)。