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
筛选关键指标(如慢查询、异常堆栈)。