JMeter执行压测输出HTML图形化报表(三)

插件模式将jtl转成测试图表

利用GUI页面图形化展示jtl文件数据

下载插件JMeterPlugins-Extras.jar、CMDRunner.jar、JMeterPlugins-Standard.jar放到本 地windows机器的jmeter的lib/ext目录下,插件可以去官网下载,

JMeterPluginCMD命令行工具生成png图片和csv统计文件

1.首先通过cmdrunner-2.0.jar插件完成jtl-png转换

1.将jpgc-cmd-2.1\jpgc-cmd-2.1\lib目录下的cmdrunner-2.0.jar和jmeter-plugins-cmn-jmeter-0.3.jar放到D:\apache-jmeter-3.0\lib目录下

2.将jpgc-cmd-2.1\jpgc-cmd-2.1\lib\ext目录下的2个jar文件拷贝到D:\apache-jmeter-3.0\lib\ext目录下

执行转换命令如下:

java -jar D:\apache-jmeter-3.0\lib\cmdrunner-2.0.jar  --tool Reporter --generate-png D:\apache-jmeter-3.0\thinkive\resultReport\log.png --input-jtl D:\apache-jmeter-3.0\bin\log.jtl --plugin-type ResponseTimesOverTime --width 800 --height 600

 

方法二:下载CMDRunner.jar插件放到D:\apache-jmeter-3.0\lib\ext目录下(这种方式比较简单)

执行命令

C:\Users\thinkive>java -jar D:\apache-jmeter-3.0\lib\ext\CMDRunner.jar  --tool Reporter --generate-png D:\apache-jmeter-3.0\thinkive\resultReport\Tran
sactionsPerSecond.png --input-jtl D:\apache-jmeter-3.0\bin\log.jtl --plugin-type TransactionsPerSecond --width 800 --height 600

注意:

--plugin-type TransactionsPerSecond名字不能直接是jp@gc - Transactions per Second,否则执行命令报错

 

命令解析:

 

命令最后有个命令类型:TransactionsPerSecond,除了这个还支持如下命令类型:

 

ThreadsStateOverTime、 

BytesThroughputOverTime、 

HitsPerSecond、 

LatenciesOverTime、 

ResponseCodesPerSecond、 

ResponseTimesDistribution、

 

ResponseTimesOverTime、 

ResponseTimesPercentiles、 

ThroughputVsThreads、 

TimesVsThreads、 

PageDataExtractorOverTime、 

PerfMon

 

生成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

也可以一次性生成两个文件

#!/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

windows下通过批处理

最后一行PerfMon:服务器参数随时间变化曲线注意这个需要在jmx脚本中添加,服务器 监控,要指定ip、端口、监控项,还需要指定perfMon的输出文件,或者在命令行指定,如./jmeter -n -t baidu.jmx -l 2.jtp -JforcePerfmonFile=true,这样会输出在当前路径。

bat命令为:对文件名称和生成的jtl文件名以及CMDRunner.jar包路径可根据需要修改

@echo off
set file="interface"
set jtlfile="interface_test.jtl"
f:
cd F:\apache-jmeter-3.0\apache-jmeter-3.0\lib\ext
java -jar CMDRunner.jar  --tool Reporter --generate-png %file%_ThreadsStateOverTime.png --input-jtl  %jtlfile%  --plugin-type ThreadsStateOverTime
java -jar CMDRunner.jar  --tool Reporter --generate-png %file%_BytesThroughputOverTime.png --input-jtl  %jtlfile%  --plugin-type BytesThroughputOverTime
java -jar CMDRunner.jar  --tool Reporter --generate-png %file%_HitsPerSecond.png --input-jtl  %jtlfile%  --plugin-type HitsPerSecond
java -jar CMDRunner.jar  --tool Reporter --generate-png %file%_LatenciesOverTime.png --input-jtl  %jtlfile%  --plugin-type LatenciesOverTime
java -jar CMDRunner.jar  --tool Reporter --generate-png %file%_ResponseCodesPerSecond.png --input-jtl  %jtlfile%  --plugin-type ResponseCodesPerSecond
java -jar CMDRunner.jar  --tool Reporter --generate-png %file%_ResponseTimesDistribution.png --input-jtl  %jtlfile%  --plugin-type ResponseTimesDistribution
java -jar CMDRunner.jar  --tool Reporter --generate-png %file%_ResponseTimesOverTime.png --input-jtl  %jtlfile%  --plugin-type ResponseTimesOverTime
java -jar CMDRunner.jar  --tool Reporter --generate-png %file%_ResponseTimesPercentiles.png --input-jtl  %jtlfile%  --plugin-type ResponseTimesPercentiles
java -jar CMDRunner.jar  --tool Reporter --generate-png %file%_ThroughputVsThreads.png --input-jtl  %jtlfile%  --plugin-type ThroughputVsThreads
java -jar CMDRunner.jar  --tool Reporter --generate-png %file%_TimesVsThreads.png --input-jtl  %jtlfile%  --plugin-type TimesVsThreads
java -jar CMDRunner.jar  --tool Reporter --generate-png %file%_TransactionsPerSecond.png --input-jtl  %jtlfile%  --plugin-type TransactionsPerSecond
java -jar CMDRunner.jar  --tool Reporter --generate-png %file%_PageDataExtractorOverTime.png --input-jtl  %jtlfile%  --plugin-type PageDataExtractorOverTime
java -jar CMDRunner.jar  --tool Reporter --generate-png %file%_PerfMon.png --input-jtl  %jtlfile%  --plugin-type PerfMon

双击该bat文件后,我们在lib\ext目录下去看,就可以看到生成了很多png图片

http://www.cnblogs.com/miaomiaokaixin/p/6118081.html

 

posted @ 2017-02-09 16:00  Agoly  阅读(1302)  评论(0编辑  收藏  举报