1. 程式人生 > >Jmeter 監控服務器CPU,內存等數據

Jmeter 監控服務器CPU,內存等數據

sof val hits lock 文件 1.0 mes html character

轉自 http://www.cnblogs.com/saryli/p/6613202.html

JMeter如何收集獲得服務器cpu,內存,磁盤,網絡等相關資源使用率的信息

1. JMeter 自帶的Monitor Results 監控

JMeter 自帶的Monitor Results 在官網就有資料, (http://jakarta.apache.org/jmeter/usermanual/build-monitor-test-plan.html)

The monitor was designed to work with the status servlet in Tomcat 5. In theory, any servlet Container that supports JMX (JavaManagement Extension) can port the status servlet to provide the same information.

這個是原文, 我也沒搞太懂,大概就是需要tomcat 或者 支持JMX 的servlet 都可以提供監控服務,詳細的我也沒有測試,應為我沒有這個東西,對tomcat也不熟,所以。。。。

我大概說一下我的的理解:

1. 開啟服務器自帶的顯示性能的頁面 (官網的例子是 :/manager/status 頁面)

2. 在Jmeter 裏面添加訪問這個頁面

3. 添加Monitor Result 監視器,就可以讀取出相關信息了

2. 第三方的插件形式監控服務器性能數據

這個插件非常之利害,使用也是非常之方便,功能也是非常多,這裏講的這個監控服務器性能數據的叫 PerfMon Metrics Collector, 還有其他功能:

PerfMon Metrics Collector
Active Threads Over Time
Response Codes per Second
Response Times Over Time
Response Latencies Over Time
Transactions per Second
Server Hits per Seconds
Bytes Throughput Over Time
Extracted Data Over Time
Composite Timeline Graph

這個是插件的官方地址 : http://code.google.com/p/jmeter-plugins/, 現在已經V0.5.5了

我講下PerfMon Metrics Collector的使用。

PerffMon 的結構圖:

技術分享

下面是操作過程:

1. 下載插件

2. 解壓插件文件, 裏面有個JMeterPlugins.jar 把這個文件放到 lib/ext 文件夾下面

3. 打開bin/Jmeter.properties

修改

jmeter.save.saveservice.thread_counts=true

插件相關的設置可以添加到 bin/user.properties

#---------------------------------------------------------------------------
# JMeter Plugins config (http://code.google.com/p/jmeter-plugins)
#---------------------------------------------------------------------------

# Enable or disable the gradient paint for graphs. Value is true or false, default is true.
jmeterPlugin.drawGradient=true
# Globaly disable final zeroing lines in all graphs. Value is true or false, default is false.
jmeterPlugin.neverDrawFinalZeroingLines=true
# Globaly disable current X lines drawing in all concerned graphs. Value is true or false,  default is false.
jmeterPlugin.neverDrawCurrentX=true
# Enable or disable graphs Y Axis scaling for better readability. Value is true or false, default is true.
jmeterPlugin.optimizeYAxis=true
# Use relative time in time based graphs. Value is true or false, default is true.
jmeterPlugin.useRelativeTime=true
# Force csv separator character. Default is ‘,‘ if decimal separator is ‘.‘, ‘;‘ otherwise
#jmeterPlugin.csvSeparator=;
# Force csv time format (see http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html)
#jmeterPlugin.csvTimeFormat=HH:mm:ss
# Prefix or not plugin items in JMeter menus. Value is true or false, default is true.
jmeterPlugin.prefixPlugins=true
# Force line width for all line graphs. Default is ‘1.0‘.
jmeterPlugin.graphLineWidth=3
# Draw markers in relevent line graphs. Default is true.
meterPlugin.drawLineMarker=false

4. 打開JMeter 看到多了好多以jp@gc- 開頭的控件,包括controller, thread 等, 這裏要講的 PerfMon Metrics Collector 就在listener 下面jp@gc-PerfMon Metrics Collector

5. 在你需要的地方添加 jp@gc-PerfMon Metrics Collector, 點configur, 選擇"Save Active Thread Counts" 。

6.上面這些做完,還有一個非常重要的東西需要做, 那就是在你的服務器端執行一個插件的服務器,這樣JMeter 就可以獲得相關數據了, 這個服務器就在下載的安裝包裏面 有個 serverAgent 的文件夾,把它復制到服務器,執行裏面的serverAgent.bat

7. 接下來你就可以在你添加的jp@gc-PerfMon Metrics Collector 裏面添加你要監控的服務器了,包括服務器地址,端口默認為4444, 和你要監控的選項了,比如,cpu, 內存,網絡吞吐,磁盤吞吐等

技術分享

Jmeter 監控服務器CPU,內存等數據