性能分析一

性能测试以后,须要分析性能问题瓶颈所在,最多见的状况,就是服务器cpu或者内存指标太高。可是仅仅是这样,还不够,咱们最好能够进一步给研发提供更多的信息,而且最好还能给出本身的一些建议,才会显得测试报告专业。
分析问题简单思路是用分层思想,分析最大多是哪一层出现瓶颈,而后再具体分析。
这里若是cpu太高,那么,先用top -c,再排序查看下究竟是哪一个服务占用太高。
java

若是是java应用
1:那么进一步分析师哪一个线程,linux上命令很多,好比这个 (ps -mp pid -o THREAD,tid,time) ps -T -mp pid
2:找到了耗时最高的线程,将线程TID转换为16进制格式(printf "%x\n" tid)
3:最后使用jstat命令,去打印该线程的堆栈信息(jstack pid |grep tid )
4:到了这里,你须要作的事情有两件,一是本身尝试阅读信息,看可否发现什么问题,二就是将这段信息提交给对应研发分析linux

二:ios

若是是c++服务
1:能够用 pstack命令,pstack pid便可。(多使用linux自带命令或者让请研发配合调试)
2:配合其余指标,结合分析可能缘由,好比用sar,vmstat查看%sy,iostat,cs,wa,平均负载等等经常使用信息c++


以上就是最基本的手段,尽量一步步分析,最后我想说的是,cpu和内存的问题,不少时候没法单独判断,须要综合分析,如下就是一点简单的关系总结服务器

mpstat
1. 若 %iowait 的值太高,表示硬盘存在I/O瓶颈
2. 若 %idle 的值高但系统响应慢时,有多是 CPU 等待分配内存,此时应加大内存容量
3. 若 %idle 的值持续低于10,则系统的 CPU 处理能力相对较低,代表系统中最须要解决的资源是 CPU 。性能

相关文章
相关标签/搜索