性能测试小案例分析

很多人觉得性能分析难,其实你掌握了技巧后就不难了。

心态、思路、分层、猜想等等在分析中起了很大作用,相反技术只位居区区第二,甚至第三而已,可惜明白的人太少

=============================

监控发现的现象:

tps抖动大

log里的超时很多

偶然有500错误

接着,用jconsole看下内存(java的东东头一个想到内存),如下图

性能测试小案例分析_第1张图片

发现内存使用不正常,FGC非常频繁,差不多5分钟进行一次,而且内存回收不彻底,大概猜测可能是内存问题,导致了一系列不稳定的现象。

那么问题来了,谁这么占内存?

然后jstat命令查看系统GC情况,如下图

性能测试小案例分析_第2张图片

果然是内存回收不彻底,fgc持续近5s,验证了我们的猜测,那么接下来就要找是哪个混蛋造成的了。

继续,jmap找,如下图

性能测试小案例分析_第3张图片

看到这三个混蛋了吧?可能就是他们导致的哦

最后,借助mat来分析,如下图

性能测试小案例分析_第4张图片

看到了吧,就是他们三个啊,赶紧找开发一起看看,分析下代码吧


so,是不是也不难呢?关键还是思路。

你可能感兴趣的:(性能测试小案例分析)