咱们知道命令行的方式执行完成jmeter后,会生成jtl文件,里面打开后就是一行行的测试结果,html
<httpSample t="1" lt="1" ts="1450684950333" s="true" lb="app.testdelay" rc="200" rm="OK" tn="appdelay-3000g3m 1-1" dt="" by="2265"/>java
即使知道每一个表明的含义,可是咱们肉眼仍是难以直观的看到性能如何,因此咱们能够将jtl文件进行转换,转成肉眼可以直观看懂的图表、csv等形式,下面讲解jtl文件转换的几种方式:(jmeter系列博文用的例子都是并发测试百度接口,因为百度自己机制不容许短期并发访问因此看到个人结果都是失败的,这里作下说明,各位真实测试使用本身的jmx脚本的时候通常不会如此)python
1:命令行模式将jtl转成测试图表-注意此方法只使用jmeter3.0之后版本apache
./jmeter -n -t baidu_requests_results.jmx -r -l baidu_requests_results.jtl -e -o /home/tester/apache-jmeter-3.0/resultReportwindows
参数说明:浏览器
./jmeter -g baidu_requests_results.jtl -e -o /home/tester/apache-jmeter-3.0/resultReport服务器
第一种和第二种其实最终都依赖生成的jtl文件,将jtl文件生成测试报告。双击测试报告中的index.html文件便可查看报告内容并发
2:插件模式将jtl转成测试图表app
下载插件JMeterPlugins-Extras.jar、CMDRunner.jar、JMeterPlugins-Standard.jar放到本地windows机器的jmeter的lib/ext目录下,插件能够去官网下载,这里我也给出个人插件地址(只需解压缩拷贝其中lib包下的jar文件到lib/ext目录下便可):http://pan.baidu.com/s/1pLexxcZ 密码:f4rb分布式
在windows机器上须要安装jmeter,下载的插件放在jmeter安装目录的lib/ext目录下,而后去bin目录下双击jmeter.bat打开jmeter的gui页面
在线程组下面添加你想要的监听器,而后点击监听器页面的浏览按钮,选择你想浏览的jtl文件,等待一会,就能出现你想要的图形报告
以jp@gc - Bytes Throughput Over Time为例:
第一步:添加该监听器,当咱们把下载的jar包放到lib/ext下面而后重启jmeter后,监听器中就会多出不少的扩展监听插件,选择你关注的结果插件便可
第二步:选择你要浏览的jtl文件,监听器添加成功后,在监听器页面都会有一个浏览按钮,点击浏览按钮找到并选择你要看的jtl文件
第三步:点击打开后,等待一会,就能在相应的监听器页面看到你想要看到的结果了
若是你还想要看其余的数据好比聚合报告,吞吐量,响应时间等等一切你关心的数据,按上面的3个步骤走一遍就行
首先进入lib\ext目录下,而后去执行响应的命令
cd F:\apache-jmeter-3.0\apache-jmeter-3.0\lib\ext
java -jar CMDRunner.jar --tool Reporter --generate-png baidu_ThreadsStateOverTime.png --input-jtl baidu_requests_results.jtl --plugin-type TransactionsPerSecond
cmd运行上面的命令,结果在lib\ext目录下能够看到生成了一个baidu_ThreadsStateOverTime.png图片:
双击打开png图片,就能看到想要的图形效果
注意此处的的图片是断续的共15分钟,这跟jtl有关,测试时jtl文件若是不删除或清空,下一次测试的数据会追加到jtl的末尾,因此能够看到上面的图片中个人测试结果分了3次3分钟,其他时间实际上是并无进行测试的状况。
命令解析:
命令最后有个命令类型:TransactionsPerSecond,除了这个还支持以下命令类型:
ThreadsStateOverTime、 BytesThroughputOverTime、 HitsPerSecond、 LatenciesOverTime、 ResponseCodesPerSecond、 ResponseTimesDistribution、
ResponseTimesOverTime、 ResponseTimesPercentiles、 ThroughputVsThreads、 TimesVsThreads、 PageDataExtractorOverTime、 PerfMon
咱们能够用一个windows的bat批处理文件,来执行上面的命令,命令执行完之后去相应目录下收取结果png图片就能够了
最后一行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图片
关心哪一个图表直接双击打开便可,这样就方便不少了。
固然除了生成png,还能够生成csv文件,如:
@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-csv %file%_PerfMon.csv --input-jtl %jtlfile% --plugin-type AggregateReport java -jar CMDRunner.jar --tool Reporter --generate-csv %file%_PerfMon.csv --input-jtl %jtlfile% --plugin-type SynthesisReport java -jar CMDRunner.jar --tool Reporter --generate-csv %file%_ThreadsStateOverTime.csv --input-jtl %jtlfile% --plugin-type ThreadsStateOverTime java -jar CMDRunner.jar --tool Reporter --generate-csv %file%_BytesThroughputOverTime.csv --input-jtl %jtlfile% --plugin-type BytesThroughputOverTime java -jar CMDRunner.jar --tool Reporter --generate-csv %file%_HitsPerSecond.csv --input-jtl %jtlfile% --plugin-type HitsPerSecond java -jar CMDRunner.jar --tool Reporter --generate-csv %file%_LatenciesOverTime.csv --input-jtl %jtlfile% --plugin-type LatenciesOverTime java -jar CMDRunner.jar --tool Reporter --generate-csv %file%_ResponseCodesPerSecond.csv --input-jtl %jtlfile% --plugin-type ResponseCodesPerSecond java -jar CMDRunner.jar --tool Reporter --generate-csv %file%_ResponseTimesDistribution.csv --input-jtl %jtlfile% --plugin-type ResponseTimesDistribution java -jar CMDRunner.jar --tool Reporter --generate-csv %file%_ResponseTimesOverTime.csv --input-jtl %jtlfile% --plugin-type ResponseTimesOverTime java -jar CMDRunner.jar --tool Reporter --generate-csv %file%_ResponseTimesPercentiles.csv --input-jtl %jtlfile% --plugin-type ResponseTimesPercentiles java -jar CMDRunner.jar --tool Reporter --generate-csv %file%_ThroughputVsThreads.csv --input-jtl %jtlfile% --plugin-type ThroughputVsThreads java -jar CMDRunner.jar --tool Reporter --generate-csv %file%_TimesVsThreads.csv --input-jtl %jtlfile% --plugin-type TimesVsThreads java -jar CMDRunner.jar --tool Reporter --generate-csv %file%_TransactionsPerSecond.csv --input-jtl %jtlfile% --plugin-type TransactionsPerSecond java -jar CMDRunner.jar --tool Reporter --generate-csv %file%_PageDataExtractorOverTime.csv --input-jtl %jtlfile% --plugin-type PageDataExtractorOverTime
双击该bat文件,而后去对应目录下就能看到生成了不少csv文件,好比AggregateReport.csv就是聚合报告
好了,以上就是jmeter的jtl文件查看方式了