JMeterPluginCMD命令行工具使用詳解


MeterPluginCMD命令行工具生成png圖片和csv統計文件

Jmeter是個純java的開源的輕量級性能測試工具,功能強大。因為是輕量級的,與loadrunner相比,報告統計的相對較少。不過有jmeter的插件-JMeterPlugins,可以提供不少其他的報告,包括各種響應時間、吞吐率、線程等的變化曲線等

 

並且這個插件提供了命令行工具,可以將我們看到的各種曲線,各種報告統計成png圖片,或者csv文件。這樣我們就完全可以通過命令行來運行jmeter,生成jtl文件,然后在解析jtl文件,產生各種報告,或者展示到網頁,或者插入到數據庫,等等。

 

英文地址:http://jmeter-plugins.org/wiki/JMeterPluginsCMD/

 

安裝

 

下載JMeterPlugins-Standard-1.2.0.zip和JMeterPlugins-Extras-1.2.0.zip,解壓將里面的jar包復制到jmeter的lib/ext文件夾中即可。

 

用法

 

生成png圖片:

java -jar $CMDRunnerPath/CMDRunner.jar --tool Reporter --generate-png ThreadsStateOverTime.png

--input-jtl 1.jtl --plugin-type ThreadsStateOverTime

 

生成csv圖片:

java -jar $CMDRunnerPath/CMDRunner.jar  --tool Reporter --generate-csv ThreadsStateOverTime.csv --input-jtl  1.jtl  --plugin-type ThreadsStateOverTime

 

當然也可以一次性生成兩個文件。下面是改命令的參數:

  • –generate-png 指定png圖片文件
  • –generate-csv 指定csv文件名
  • –input-jtl 指定要解析的jtl文件
  • –plugin-type 指定要輸出的數據類型,比如響應時間、cpu使用率、錯誤率等

Plugin Type Classes

插件提供解析下面這些數據的對象:

  • AggregateReport = JMeter’s native Aggregate Report, can be saved only as CSV 聚合報告
  • SynthesisReport = mix between JMeter’s native Summary Report and Aggregate Report, can be saved only as CSV
  • ThreadsStateOverTime = Active Threads Over Time 線程數隨時間的變化曲線
  • BytesThroughputOverTime 流量隨時間的變化曲線
  • HitsPerSecond 點擊率隨時間的變化曲線
  • LatenciesOverTime 延遲隨時間的變化曲線
  • PerfMon = PerfMon Metrics Collector 服務器參數隨時間變化曲線注意這個需要在jmx腳本中添加,服務器監控,要指定ip、端口、監控項,還需要指定perfMon的輸出文件,或者在命令行指定,如sh jmeter.sh -n -t HTTP請求-baidu.jmx -l 2.jtp -JforcePerfmonFile=true,這樣會輸出在當前路徑。
  • perfmon
  • ResponseCodesPerSecond 響應碼隨時間變化曲線
  • ResponseTimesDistribution 響應時間分布
  • ResponseTimesOverTime 響應時間隨時間變化曲線
  • ResponseTimesPercentiles 響應時間的百分比
  • ThroughputVsThreads 吞吐率隨線程變化曲線
  • TimesVsThreads = Response Times VS Threads 響應時間隨線程變化曲線
  • TransactionsPerSecond 事務隨時間變化曲線
  • PageDataExtractorOverTime
  • MergeResults
 #!/bin/sh
    file=$1
    perfmonPath=$2

    CMDRunnerPath=/Users/apple/work/jmeter-2.11/lib/ext

    #generate png
    java -jar $CMDRunnerPath/CMDRunner.jar  --tool Reporter --generate-png ${file%.*}_ThreadsStateOverTime.png --input-jtl  $file  --plugin-type ThreadsStateOverTime
    java -jar $CMDRunnerPath/CMDRunner.jar  --tool Reporter --generate-png ${file%.*}_BytesThroughputOverTime.png --input-jtl  $file  --plugin-type BytesThroughputOverTime
    java -jar $CMDRunnerPath/CMDRunner.jar  --tool Reporter --generate-png ${file%.*}_HitsPerSecond.png --input-jtl  $file  --plugin-type HitsPerSecond
    java -jar $CMDRunnerPath/CMDRunner.jar  --tool Reporter --generate-png ${file%.*}_LatenciesOverTime.png --input-jtl  $file  --plugin-type LatenciesOverTime
    java -jar $CMDRunnerPath/CMDRunner.jar  --tool Reporter --generate-png ${file%.*}_ResponseCodesPerSecond.png --input-jtl  $file  --plugin-type ResponseCodesPerSecond
    java -jar $CMDRunnerPath/CMDRunner.jar  --tool Reporter --generate-png ${file%.*}_ResponseTimesDistribution.png --input-jtl  $file  --plugin-type ResponseTimesDistribution
    java -jar $CMDRunnerPath/CMDRunner.jar  --tool Reporter --generate-png ${file%.*}_ResponseTimesOverTime.png --input-jtl  $file  --plugin-type ResponseTimesOverTime
    java -jar $CMDRunnerPath/CMDRunner.jar  --tool Reporter --generate-png ${file%.*}_ResponseTimesPercentiles.png --input-jtl  $file  --plugin-type ResponseTimesPercentiles
    java -jar $CMDRunnerPath/CMDRunner.jar  --tool Reporter --generate-png ${file%.*}_ThroughputVsThreads.png --input-jtl  $file  --plugin-type ThroughputVsThreads
    java -jar $CMDRunnerPath/CMDRunner.jar  --tool Reporter --generate-png ${file%.*}_TimesVsThreads.png --input-jtl  $file  --plugin-type TimesVsThreads
    java -jar $CMDRunnerPath/CMDRunner.jar  --tool Reporter --generate-png ${file%.*}_TransactionsPerSecond.png --input-jtl  $file  --plugin-type TransactionsPerSecond
    java -jar $CMDRunnerPath/CMDRunner.jar  --tool Reporter --generate-png ${file%.*}_PageDataExtractorOverTime.png --input-jtl  $file  --plugin-type PageDataExtractorOverTime
    java -jar $CMDRunnerPath/CMDRunner.jar  --tool Reporter --generate-png ${file%.*}_PerfMon.png --input-jtl  $2  --plugin-type PerfMon

    #generate csv
    java -jar $CMDRunnerPath/CMDRunner.jar  --tool Reporter --generate-csv ${file%.*}_AggregateReport.csv --input-jtl  $file  --plugin-type AggregateReport
    java -jar $CMDRunnerPath/CMDRunner.jar  --tool Reporter --generate-csv ${file%.*}_ThreadsStateOverTime.csv --input-jtl  $file  --plugin-type ThreadsStateOverTime
    java -jar $CMDRunnerPath/CMDRunner.jar  --tool Reporter --generate-csv ${file%.*}_BytesThroughputOverTime.csv --input-jtl  $file  --plugin-type BytesThroughputOverTime
    java -jar $CMDRunnerPath/CMDRunner.jar  --tool Reporter --generate-csv ${file%.*}_HitsPerSecond.csv --input-jtl  $file  --plugin-type HitsPerSecond
    java -jar $CMDRunnerPath/CMDRunner.jar  --tool Reporter --generate-csv ${file%.*}_LatenciesOverTime.csv --input-jtl  $file  --plugin-type LatenciesOverTime
    java -jar $CMDRunnerPath/CMDRunner.jar  --tool Reporter --generate-csv ${file%.*}_ResponseCodesPerSecond.csv --input-jtl  $file  --plugin-type ResponseCodesPerSecond
    java -jar $CMDRunnerPath/CMDRunner.jar  --tool Reporter --generate-csv ${file%.*}_ResponseTimesDistribution.csv --input-jtl  $file  --plugin-type ResponseTimesDistribution
    java -jar $CMDRunnerPath/CMDRunner.jar  --tool Reporter --generate-csv ${file%.*}_ResponseTimesOverTime.csv --input-jtl  $file  --plugin-type ResponseTimesOverTime
    java -jar $CMDRunnerPath/CMDRunner.jar  --tool Reporter --generate-csv ${file%.*}_ResponseTimesPercentiles.csv --input-jtl  $file  --plugin-type ResponseTimesPercentiles
    java -jar $CMDRunnerPath/CMDRunner.jar  --tool Reporter --generate-csv ${file%.*}_ThroughputVsThreads.csv --input-jtl  $file  --plugin-type ThroughputVsThreads
    java -jar $CMDRunnerPath/CMDRunner.jar  --tool Reporter --generate-csv ${file%.*}_TimesVsThreads.csv --input-jtl  $file  --plugin-type TimesVsThreads
    java -jar $CMDRunnerPath/CMDRunner.jar  --tool Reporter --generate-csv ${file%.*}_TransactionsPerSecond.csv --input-jtl  $file  --plugin-type TransactionsPerSecond
    java -jar $CMDRunnerPath/CMDRunner.jar  --tool Reporter --generate-csv ${file%.*}_PageDataExtractorOverTime.csv --input-jtl  $file  --plugin-type PageDataExtractorOverTime

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM