Jmeter作為一個輕量級的性能測試工具,開源、小巧、靈活的特性使其越來越受到測試人員喜愛。在實際的
項目中,特別是跨地區項目,排除合作方指定要求使用Loadrunner作為性能測試工具外,Jmeter會是首選。本
篇文章,就着重介紹下Jmeter服務器性能監控插件PerfMon Metrics Collector的安裝使用以及使用過程中所遇
問題的解決方法。
一、Jmeter插件的下載安裝
可能大家會有疑問,為什么不是PerfMon Metrics Collector的安裝?如果去網上搜一下Jmeter插件,你會
發現大都是針對某一個插件怎么安裝,實際安裝中可能會出現各種各樣的問題,更有甚者好多博文基本都是C、V
產品。其實,只要把Jmeter插件包完整安裝,你就可以隨心所欲的使用了。
下載地址:https://jmeter-plugins.org/install/Install/,下載界面如下:
插件安裝:下載完成后的文件是plugins-manager.jar格式,將其放到Jmeter安裝目錄下的\lib\ext目錄,然后重啟Jmeter即可。
二、服務端插件下載和配置
要使用PerfMon Metrics Collector,還需一個配合使用的插件ServerAgent。
下載地址:https://pan.baidu.com/s/1exfy8l_OYjG2DKNu1IKXLg 提取碼: nsx5
敲黑板:不要把壓縮包解壓在本地,本地根本用不到,要把整個壓縮包放到服務器上面!
如果服務器是Linux環境:
執行命令: cd /usr/bin ,用Xftp把ServerAgent-2.2.1.rar上傳到服務器的/usr/bin下;
執行命令: unrar -e ServerAgent-2.2.1.rar ,解壓壓縮包;
執行命令: rm -rf ServerAgent-2.2.1.rar ,刪除原壓縮包;
執行命令: cd ServerAgent-2.2.1 ,進入ServerAgent-2.2.1目錄;
執行命令: chmod 777 startAgent.sh ,將startAgent.sh設置成可執行文件;
執行命令: sh startAgent.sh ,啟動Agent服務;
執行命令: nohup ./startAgent.sh & ,把Agent服務放到后台並且不掛起。
如果服務器是Windows環境:
將壓縮包ServerAgent-2.2.1.rar解壓,直接運行startAgent.bat即可,如果出現下圖情況表示啟用成功:
三、PerfMon Metrics Collector插件使用
1.插件添加
打開Jmeter,根據項目需求調整腳本,最后添加各類監控。
Host/IP:要監控服務器的地址
Port:默認端口
Metric to collect:監控資源配置項
Add Row、Copy Row、Delete Row:分別對應的是添加按鈕、復制按鈕、刪除按鈕
Chart:曲線圖展示主界面
Rows:曲線圖小界面以及不同資源曲線所代表的顏色
Settings:設置
2.監控使用策略
如果測試場景的測試執行時間較長,采集的監控數據量比較大,為了在GUI模式查看曲線圖時更
方便、快捷,建議將各個監控指標項單獨使用一個PerfMon監聽器,從而配置不同的指標項數據存儲
到不同的文件中,測試執行完畢后,載入數據和數據查看都會更快。
如果預計數據量不會太大,可以以服務器為單位來划分PerfMon監聽器。這樣可以方便的觀察到
整個測試過程中,某台服務器各項資源使用情況的變化趨勢。
對於分布式服務、為了方便觀察各個節點的負載分布、負載變化趨勢,可以考慮將同類型的節
點放置到同一個PerfMon監聽器,以便對比觀察。
3.曲線圖數值
當一個PerfMon監聽器中展示多種指標項的數據時,為了曲線圖的可觀察性,插件會自動進行
優化:將展示的數值在采集到的真實數值上放大。目的是為了保證不同數據項在同一坐標系中展示
時,各項都變化趨勢都能夠被觀察到。
4.曲線圖設置
Use relative times:用於配置曲線圖x軸表示相對時間(測試開始時為0)還是實際系統時間
Auto-zoom rows for best fit:勾選,則會有上面講曲線圖數值時提到的展示數據自動放大的功
能,取消勾選則全部展示采集的實際數值
Limit number of points in row to XX points:勾選后可以設定曲線圖展示的采樣點數量,我們
的測試報告會有不同的角色查看,其中一些角色可能不具備也不需要對監控數據的細節理解能力,
此時我們提供的監控曲線圖應該是易讀的,如果按照實際的所有采樣點來渲染出曲線圖,可能會有
很多偏離趨勢的噪點數據,這對於不了解的人來說可能會有很多疑惑,所以當我們有了分析結論,
最后報告呈現的時候,可以考慮通過調整采樣點,來讓曲線圖更好的展示資源使用趨勢,消除其他
不必要的信息。
Force maximum Y axis value to XX:不勾選的情況下,插件在描繪曲線圖的時候,會根據數
值大小自動調整Y軸最大值,以達到更佳可讀性
Graph Options:圖形選項,控制曲線圖的寬度和繪制標記
下面給大家展示一個某個項目的監控結果:
四、PerfMon Metrics Collector插件使用過程中可能遇到問題的解決方法
1.一直報錯 ERROR: java.net.ConnectException: Connection refused: connect
a.檢查ServerAgent有沒有在服務器上正常啟用
b.服務端的防火牆是否關閉
c.默認端口是否被占用
如果確定是端口被占用,在statAgent目錄下運行 java -jar ./CMDRunner.jar --tool PerfMonAgent --udp-port 7777 --tcp-port 7777 更改默認端口。
2.出現報錯 java.lang.NoSuchMethodError: org.apache.jmeter.samplers.SampleSaveConfiguration.setFormatter(Ljava/text/DateFormat;)
這個報錯是因為所用JMeter版本過高不支持 jp@gc - PerfMon Metrics Collector 插件導致,可下載低版本的JMeter,比如Jmeter3.1版本。