1. 程式人生 > >使用Jmeter監測服務器性能指標

使用Jmeter監測服務器性能指標

曲線圖 連通 ron 請求 parameter 指標 測試 max linux服務器

jmeter監控服務器CPU、內存等性能參數,需要安裝一些插件

插件名:JMeterPlugins-Extras,JMeterPlugins-Standard 以及ServerAgent。

下載地址:https://jmeter-plugins.org/downloads/old/和https://jmeter-plugins.org/wiki/PerfMonAgent/

1.ServerAgent:

ServerAgent放在被壓測的服務器上,windows服務器中啟動startAgent.bat,Linux服務器啟動startAgent.sh即可,是用來收集服務器相關性能指標(cpu、memory、tcp等)、以及jmx等metrics信息,然後通過 TCP or UD協議來發送給jmeter。啟動後,默認監聽4444端口,ServerAgent是一個文本協議,可以使用任何客戶端發送/接收metrics數據信息。

在linux中啟動 ./startAgent.sh 是,可能會提示:“-bash: ./startAgent.sh: 權限不夠”,那麽我們需要執行命令: chmod +x startAgent.sh

只需要將SeverAgent添加到服務器上然後再啟動即可。

驗證:為了保證測試過程的順暢,我們可以先行確認JMeter壓力機與被測服務器上部署的ServerAgent的通信是否正常。一個簡便的方法是在JMeter壓力機使用telnet像ServerAgent發送”test”,如telnet 192.168.18.10 4444,連通後,輸入test,正常情況下ServerAgent會輸出類似INFO 2017-07-29 23:10:52.430 [kg.apc.p] (): Yep, we received the ‘test‘ command的日誌。

2.將JMeterPlugins-Extras,JMeterPlugins-Standard的jar包拷貝到jmeter的lib/ext目錄下面,1.4版本的插件要再jdk1.6以及jmeter2.4以上版本使用。

3.重啟jmeter發現多了很多組件,常用組件說明:

a)jp@gc - Bytes Throughput Over Time:不同時間吞吐量展示(圖表)

聚合報告裏,Throughput是按請求個數來展示的,比如說1.9/sec,就是每s發送1.9個請求;而這裏的展示是按字節Bytes來展示的圖表

b)jp@gc - Composite Graph: 混合圖表

在它的Graphs裏面可以設置多少個圖表一起展示,它可以同時展示多個圖表

c)jp@gc - Hits per Second:每秒點擊量

d)jp@gc - PerfMon Metrics Collector:服務器性能監測控件,包括CPU,Memory,Network,I/O等等

e)jp@gc - Reponse Latencies Over Time:記錄客戶端發送請求完成後,服務器端返回請求之前這段時間

f)jp@gc - Reponse Times Distribution: 顯示測試的響應時間分布,X軸顯示由時間間隔分組的響應時間,Y軸包含每個區間的樣本數

g)jp@gc - Transactions per Second: 每秒事務數,服務器每秒處理的事務數

平常我們主要用到jp@gc - PerfMon Metrics Collector組件,在jmeter的添加>監聽器中,可以選在perfMon選項可以選擇到。

其中,HostIP為被監控服務器的IP,Port為端口號,默認為4444,Metric parameter則是具體的監控設置指標(CPU/內存/磁盤IO/網絡IO/TCP/SWAP分區等性能指標)。

指標結果分析:縱軸為性能結果指標,單位為百分比,橫軸為運行時間,單位為秒。結果圖表可以導出成csv文件。

性能結果圖表中的setting常用有:

1.use relative times用於配置曲線圖x軸表示相對時間(測試開始時為0)還是實際系統時間。

2.Auto-zoom rows for best fit默認勾選,則會有上一節講數值時提到的展示數據自動放大的功能,取消勾選則全部展示采集的實際數值。

3.Limit number of points in row to xx points:勾選後可以設定曲線圖展示的采樣點數量,我們的測試報告會有不同的角色查看,其中一些角色可能不具備也不需要對監控數據的細節理解能力,此時我們提供的監控曲線圖應該是易讀的,如果按照實際的所有采樣點來渲染出曲線圖,可能會有很多偏離趨勢的噪點數據,這對於不了解的人來說可能會有很多疑惑,所以當我們有了分析結論,最後報告呈現的時候,可以考慮通過調整采樣點,來讓曲線圖更好的展示資源使用趨勢,消除其他不必要的信息。

4.Force maximum Y axis value to xx,實際上我更多會選擇不勾選,不勾選的情況下,插件在描繪曲線圖的時候,會根據數值大小自動調整Y軸最大值,以達到更佳可讀性,如圖7和圖8,分別是不勾選,和勾選後設置最大值為100時的曲線圖效果,顯然圖7可以更容易的觀察到變化的細節。不過與上一項類似,可能在對外出具報告時,為了更少的解釋說明,可能需要某個指定的數值。

使用Jmeter監測服務器性能指標