通過實時監控服務器資源的使用情況,可以准確把握不同測試場景下,服務器資源消耗情況的變化。對於應用性能分析有着重要的作用;同時也是調整測試場景設計的重要依據。
監控服務器的性能指標,如下三種方法:
方法一:使用jmeter的插件PerfMon Metrics Collector
方法二:使用nmon獨立監控方案(http://nmon.sourceforge.net/pmwiki.php)
方法三:使用top、free等命令
本文主要介紹方法一。使用PerfMon由兩部分組成:
1. ServerAgent:部署在被測服務器,負責資源耗用數據的采集
2. PerfMon:以插件形式集成到jmeter,作為一個監聽器listener
環境部署
1. ServerAgent部署
下載地址:https://github.com/undera/perfmon-agent

將下載的.zip文件放到被測服務器任意位置,解壓,直接運行即可(默認端口:4444)
linux:nohup ./startAgent.sh & (使用nohup令其在后台運行)
windows:startAgent.bat
2. PerfMon插件安裝
方法一:使用Plugins Manager(對jmeter插件進行集中管理)
1)下載地址:http://jmeter-plugins.org/get/,下載后得到一個jar文件jmeter-plugins-manager-1.7.jar
2)將下載得到的jar文件放在jmeter的 lib/ext目錄下
3)重啟jmeter
4)菜單欄 -> Options -> Plugin Manager,進入插件管理頁

5)選擇需要的插件進行安裝

方法二:直接下載所需插件,將插件的jar包放在jmeter的 /lib/ext目錄下,重啟jmeter即可
下載路徑;https://jmeter-plugins.org/

使用方法
1. 添加監聽器

2. 配置監聽器

在上圖中配置所要監聽的服務器ip、端口、監聽指標,就可以直接在窗口觀察到根據采集數據描繪的圖形
也可以配置監聽結果文件,測試結束后,再在插件界面載入這個文件,即可展示圖形
指標說明
可以通過Metric Parameter來設置,入口:下圖紅框中的位置,雙擊輸入框 -> 點擊最右側的三個點

CPU:

1. chart圖中,數值都代表百分比
2. Scope區域,可以通過Per Process設置來獲取指定進程的CPU使用情況
3. CPU Core區域,可以監控指定的單個Core
Memory:

1. usedperc和freeperc,都代表百分比
2. 其他的指內存大小,可以在Metric Unit中設置Kb、Mb等易於查看
3. Scope區域,設置查看指定進程的內存情況
Disks I/O:

1. queue代表等待I/O隊列長度,reads/writes代表每秒處理的讀/寫次數,readbytes/writebytes代表每秒讀/寫的數據量,單位可以在Metric Unit中設置
2. 如果掛在多個存儲設備,可以在Filesystem Filter區域指定要監控的設備
Settings:

1. use relative times,設置曲線圖x軸,表示相對時間還是實際時間
2. auto-zoom rows for best fit,默認勾選,如果有多個指標在一個圖上時,可以自動放大(x10)
3. limit number of points in row to xx points,當數據多時,可采樣展示,表示采樣點數
4. force maximum Y axis value to xx,設置固定的y軸最大值,不自動調整(一般不勾選)
ps:
1. 用於展示TPS曲線的插件:Transaction per Second 下載地址:https://jmeter-plugins.org/wiki/TransactionsPerSecond/
2. 用於展示響應時間曲線的插件:Response Time Over Time 下載地址:https://jmeter-plugins.org/wiki/ResponseTimesOverTime/
