1、服务器压测监控分析思路
2、 服务器主要监控的指标:CPU、I/O、Memory、Network、System、Swap,JDK为我们提供的命令工具:
jps —— 虚拟机进程状况工具
jinfo —— java配置信息工具
jstat —— 虚拟机统计信息监视工具
jmap/hsdb —— Java内存映像工具
jstack —— Java堆栈跟踪工具
3、压测监控如下:
通过分析趋势图:随着压力增加,响应时间不断的增加,TPS却维持在12左右无法增加,说明服务器接口的瓶颈处理能力是12TPS左右
我们再看服务器的指标:
CPU总利用率达到75%,Disk达到42%,CPU load达到2.08(这里监控平台CPU load负载不准)
要知道CPU利用率为何这么高:
直接登录所在服务器,用top命令查看进程:
由图可见:原来是进程pid为41974占用了大量CPU,因为服务器是8核,CPU最大可达到800%
再查看进程是哪个线程占用了:
命令:top -H -p pid号;或者命令:ps H -eo pid,tid,%cpu |grep pid号
查看线程可看到:线程id为49462、49458、49405占用cpu过高
如:49462线程id所在的16进制为:c136
查看堆栈命令:jstack pid号,然后搜关键词"c136"可以查看所在的线程分析代码,搜关键词“gc”查看垃圾回收线程信息,可以很详细的展示包、类、方法。