性能測試分析監控常見方法介紹


 針對性能測試過程中常用的一些監控命令及工具進行梳理。

一、服務器監控

服務器級別監控主要看以下方面

 

一般使用監控方式如下:

top命令:

查看當前系統CPU的使用情況

 

輸入1可以查看全部CPU的情況

 

 

free -m命令:

查看當前系統內存的使用情況(以MB為統計單位)

 

輸出結果:

buffer和cache: 都是Linux下的緩存機制,其中buffer為寫操作的緩存,cache為讀操作的緩存。

swap: 交換空間,磁盤上的一塊空間,當系統內存不足時,會使用交換空間

 

df -h命令:

查看當前系統磁盤空間的使用情況

 

 

 

iostat命令:

iostat -x -k 1  

-x:展示磁盤的擴展信息    -k:以k為單位展示磁盤數據   1:每1秒刷新一次

主要關注指標  util:磁盤IO使用率,單位%,反映磁盤的繁忙程度,上限100%

 

vmstat命令:

綜合顯示了CPU、進程、內存、磁盤IO等信息

vmstat 1  #  1 刷新頻率

 

dstat命令:

是較全能的全能監控工具,支持實時刷新。

需要先安裝才可以使用:yum install dstat

dstat -tcmnd --disk-util 

 

 

 

nmon:

可以使用對應的EXCEL生成一些服務器相關指標的圖形,針對穩定性場景比較合適,同時里面的圖表可以用作測試報告,非常使用,之前寫過這方面的介紹,有興趣可以點擊看看【nmon介紹及使用】

 

 

 

、應用級別監控

java程序監控

1) 命令行監控:

監控jvm的GC情況 : jstat -gcutil pid 1000 100

替換PID為指定的進程號,1000代表刷新頻率  100代表輸出100次

 

查看jvm配置信息: jmap -heap pid:
可以看到java進程的堆的配置信息,各區的空間大小和配置信息

 

查看jvm中類和對象的占用情況: jmap -histo 5279 | head -20

查看jvm中各個類的實例數、占用內存數量以及類的全名

 

堆文件dump: jmap -dump:format=b,file=m.hdump 19300
對堆內存進行dump,以文件的形式進行保存下來,可以用jvisualvm等工具對文件進行分析

 

 通過裝入本地的工具,可以查看詳細情況

 

 

2) 工具類監控:

jvisualvm

  JDK提供的一個JVM運行監控工具,可用於查看dum文件,CPU及內存的占用情況,GC垃圾回收情況等信息。

   監控之前先對jvm加監控參數,在tomcat的bin目錄下,catalina.sh文件中,第二行 添加

   JAVA_OPTS="-Dcom.sun.management.jmxremote.port=10086 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=192.168.0.10"

  注意這里是一行,hostname需修改成服務器的地址,端口用一個沒用過的即可。

  重啟之后就可以使用在控制台輸入 jvisualvm 打開界面監控相關程序。

 

Arthas(阿爾薩斯)

  阿里巴巴開源的Java診斷工具,深受開發者喜愛。

  下載: curl -O https://alibaba.github.io/arthas/arthas-boot.jar

  啟動:java -jar arthas-boot.jar 進入到arthas交互環境  

   

  輸入命令:

  help:會出現所有arthas支持的命令

  thread:列出線程的信息,按照cpu占用率從高到低列出來,如果線程太多,可以通過-n參數指定輸出的行數。  

  

       thread -b:可以查看block的線程  

  

       dashboard :可以實時查看內存的情況,定位內存溢出問題。

   

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM