首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

Web项目性能有关问题常见定位方法梳理

2012-10-13 
Web项目性能问题常见定位方法梳理第一类:请求无响应,浏览器始终处于等待状态。定位方法:kill -3或者jstack

Web项目性能问题常见定位方法梳理

第一类:请求无响应,浏览器始终处于等待状态。

定位方法:kill -3或者jstack先分析线程堆栈,找到当前block的线程。

常见于:外部接口调用无返回或者网络IO阻塞无响应;死锁;死循环;……。

?

第二类:宕机,进程挂掉。

定位方法(这一类问题普遍比较难定位):

??? (1)寻找hs_err_pidxxx.log这样的JVM日志

??? (2)使用JVM参数在JVM crash时写入到dump文件中

??? (3)catalina.out中寻找最后的日志

??? (4)宕机前环境数据采集

常见于:JDK bug(数次遇到过JIT引起的这一类问题);调用dll的问题;……

?

第三类:请求响应时间长。

定位方法:kill -3或者jstack先分析线程堆栈,看线程大都停留在什么操作上面,再细化分析。

常见于:?内存不足,可见到连续的Full GC;网络拥塞;LoadRunner等压力客户端瓶颈;数据库瓶颈,可进一步分析DB快照;……

?

第四类:TPS低;TPS逐渐降低;TPS振荡幅度过大。

定位方法(这一类问题最常见,定位的方法也最复杂):

首先观察在压力增大时,CPU使用率能否上去,如果不能上去,寻找其他瓶颈:网络/内存/磁盘/……;CPU

使用率上去了,观察在无压力时,是否有背景CPU使用(例如有后台定时任务线程消耗了大量CPU资源),如果没有,那可以尝试JProfiler等工具结合线程分析、业务分析,寻找热点。

常见于:其他业务线程干扰;内存泄露;连接句柄用完;缓存命中率低下……

?

文章系本人原创,转载请注明作者和出处

热点排行