天天看點

Jmeter監控伺服器性能

版權聲明:本文為部落客原創文章,未經部落客允許不得轉載。 https://blog.csdn.net/catoop/article/details/50781952

JMeter是一款壓力測試工具,我們也可以用它來監控伺服器資源使用情況。

JMeter正常自帶可以通過Tomcat的/manager/status來監控服務資源使用情況。這種情況隻能監控Tomcat支援的資源使用部分。

本文主要來說一下如何通過JMeter插件來監控伺服器CPU、記憶體、磁盤、網絡等相關資源。

JMeter 插件網址:

http://jmeter-plugins.org/ Perf Mon 插件 http://jmeter-plugins.org/wiki/PerfMon/

一、下載下傳

首先進入網址

http://jmeter-plugins.org/downloads/all/

下載下傳資源

ServerAgent-2.2.1.zip

JMeterPlugins-Standard-1.3.1.zip

JMeterPlugins-Extras-1.3.1.zip

其中JMeterPlugins-Standard和JMeterPlugins-Extras是用戶端的,ServerAgent是服務端的。

二、配置

将 JMeterPlugins-Standard-1.3.1.zip 中 lib\ext 目錄下的 JmeterPlugins-Standard.jar 檔案都放到apache-jmeter-2.13\lib\ext目錄中。

将 JMeterPlugins-Extras-1.3.1.zip 中 lib\ext 目錄下的 JMeterPlugins-Extras.jar 檔案放到apache-jmeter-2.13\lib\ext目錄中。

将 ServerAgent-2.2.1 放到要監控的伺服器中待使用。

三、監控

1) apache-jmeter-2.12\bin\jmeter.bat 啟動JMeter

正常啟動成功後截圖如下:

如果不能啟動檢視jdk版本或者jdk是否安裝正确。

2) 檢視插件是否正常加載,如圖:

其中jp@gc 開頭的為加載插件後出現的。

3) 運作 ServerAgent-2.2.1\bin\startAgent.bat(Linux使用startAgent.sh)

(預設端口為4444,也可以參數指定 –udp-port 4445 –tcp-port 4445)

可以看到輸出内容如下:

INFO    2016-02-23 21:21:37.209 [kg.apc.p] (): Binding UDP to 4444
INFO    2016-02-23 21:21:38.208 [kg.apc.p] (): Binding TCP to 4444
INFO    2016-02-23 21:21:38.210 [kg.apc.p] (): JP@GC Agent v2.2.0 started           

4) 在JMeter 中的測試計劃中,按上面的截圖,添加監聽器 “jp@gc - PerfMon Metrics Collector”

點選上面的啟動按鈕後,檢視ServerAgent日志出現:

INFO    2016-02-23 21:34:46.966 [kg.apc.p] (): Accepting new TCP connection
INFO    2016-02-23 21:34:46.969 [kg.apc.p] (): Yep, we received the 'test' command
INFO    2016-02-23 21:34:46.971 [kg.apc.p] (): Starting measures: cpu:
INFO    2016-02-23 21:34:47.123 [kg.apc.p] (): Client disconnected           

運作jmeter時,成功連接配接然後立刻斷開了,并沒有擷取我們想要的資料。猜想需要一個時間控制的元器件,使其能夠擷取一段時間的資料。

解決方法:

添加線程組,設定循環次數為”永遠”;

為線程組任意添加一個Sampler(并不設定參數);

添加一個PerfMon Metrics Collector監聽器;點選運作。(上面如果已經添加過,可直接使用無需再添加)

然後在 jp@gc - PerfMon Metrics Collector 界面,啟動。

結果:成功擷取chart圖,點選stop,即結束監聽資料,下面是截圖。