性能分析一

性能測試以後,須要分析性能問題瓶頸所在,最多見的狀況,就是服務器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 。性能

相關文章
相關標籤/搜索