插件模式将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