jmeter之jtl文件解析(生成测试报告)

更新时间:2023-07-29 06:21:49 阅读: 评论:0

jmeter之jtl⽂件解析(⽣成测试报告)
我们知道命令⾏的⽅式执⾏完成jmeter后,会⽣成jtl⽂件,⾥⾯打开后就是⼀⾏⾏的测试结果,
<httpSample t="1" lt="1" ts="1450684950333" s="true" lb="stdelay" rc="200" rm="OK" tn="appdelay-3000g3m 1-1" dt="" by="2265"/>
t表⽰从请求开始到响应结束的时间
lt表⽰整个的空闲时间
ts表⽰访问的时刻
s表⽰返回的结果true表⽰成功,fal表⽰失败
lb表⽰标题
rc表⽰返回的响应码
rm表⽰响应信息
tn表⽰线程的名字“1-138”表⽰第1个线程组的第138个线程。
dt表⽰响应的⽂件类型
by表⽰请求和响应的字节数
即便知道每个代表的含义,但是我们⾁眼还是难以直观的看到性能如何,所以我们可以将jtl⽂件进⾏转换,转成⾁眼能够直观看懂的图表、csv等形式,下⾯讲解jtl⽂件转换的⼏种⽅式:(jmeter系列博⽂⽤的例⼦都是并发测试百度接⼝,由于百度本⾝机制不允许短时间并发访问所以看到我的结果都是失败的,这⾥做下说明,各位真实测试使⽤⾃⼰的jmx脚本的时候⼀般不会如此)
1:命令⾏模式将jtl转成测试图表-注意此⽅法只使⽤jmeter3.0以后版本
第⼀种:在测试过程中将jtl转成测试报告(在jmeter的bin⽬录下执⾏)
./jmeter -n -t baidu_requests_results.jmx -r -l baidu_requests_results.jtl -e -o /home/tester/apache-jmeter-3.0/resultReport
参数说明:
-n : ⾮GUI 模式执⾏JMeter
-t : 执⾏测试⽂件所在的位置及⽂件名
-r : 远程将所有agent启动⽤在分布式测试场景下,不是分布式测试只是单点就不需要-r
-l : 指定⽣成测试结果的保存⽂件, jtl ⽂件格式
-e : 测试结束后,⽣成测试报告
-o : 指定测试报告的存放位置
-o 指定的⽂件及⽂件夹,必须不存在,否则执⾏会失败,对应上⾯的命令就是resultReport⽂件夹必须不存在否则报错
如上命令执⾏,可以看到控制台开始打印数据了
运⾏完成后,可以在指定的⽬录下看到⽣成结果⽂件夹/home/tester/apache-jmeter-3.0/resultReport
我们可以将该⽂件夹下载到本地windows机器,然后⽤浏览器打开index.html⽂件就能看到报告内容了
⾸页Dashboard:
解释:
file:⽂件名
start time:开始时间
end time:结束时间
filter for display:过滤器
APDEX(Application performance Index):应⽤程序性能指标,计算每笔交易APDEX的容忍和满⾜阈值基于可配置的值,范围在 0-1 之间,1表⽰达到所有⽤户均满意T(Toleration threshold):容忍或满意阈值
F(Frustration threshold):失败阈值
requests summary中KO指失败率,OK指成功率厚合菜功效与作用
⾸页Dashboard:页⾯滚动条往下拉:
解释:
statistics:数据分析,基本将 Summary Report 和 Aggrerate Report 的结果合并,含义分别为:
户县机场请求名称、请求数⽬、失败请求数⽬、错误率(本次测试中出现错误的请求的数量/请求的总数)、90%⽤户响应时间、95%⽤户响应时间、99%⽤户响应时间、吞吐量(吞吐量——默认情况下表⽰每秒完成的请求数Request per Second,当使⽤了 Transaction Controller 时,也可以表⽰类似 LoadRunner 的
Transaction per Second 数)、Kb/c(每秒从服务器端接收到的数据量,相当于LoadRunner中的Throughput/Sec)、最⼩响应时间、最⼤响应时间
errors:错误情况,依据不同的错误类型,将所有错误结果展⽰
Chart-Over Time-Respon Times Over Time:随着时间推移响应时间变化趋势图
可以看到历时3分钟,响应时间由0.334ms慢慢下滑到0.225ms
Chart-Over Time-Bytes Throughput Over Time:随着时间推移每秒接收和请求字节数变化趋势图,蓝⾊为每秒发送字节数,黄⾊为每秒接收字节数:
Chart-Over Time-Latencies Over Time:随着时间推移平均响应延时趋势图,记录客户端发送请求完成后,服务器端返回请求之前这段时间
由于我测试⽤的并发请求百度,请求都被拒绝了,并没有收到从服务端返回的请求,所以这⾥看到⼀
条0的线以上就是over time栏的所有图表,除了over time还有throuput和respon times栏
王国维简介throuput栏:
Throughput栏包括:
hits per cond:每秒点击率
codes per cond:每秒状态码数量
油桐子Transactions per cond:每秒事务量
Respon Time Vs Request: 响应时间点请求的成功/失败数
Latency Vs Request: 延迟时间点请求的成功/失败数
Respon Times栏:
respon times栏包括:
动漫人物手绘图片
Respon Time Percentiles: 响应时间百分⽐
Active Threads Over Time: 随着时间推移活跃线程数
初中什么时候开学Time Vs Threads: 测试过程中的线程数时续图
Respon Time Distribution: 响应时间分布
第⼆种:使⽤之前的测试结果,⽣成测试报告
./jmeter -g baidu_requests_results.jtl -e -o /home/tester/apache-jmeter-3.0/resultReport
-g : 指定已存在的测试结果⽂件
-e :测试结果后,⽣成测试报告
-o : 指定测试报告的存放位置
-o 指定的⽂件及⽂件夹,必须不存在,否则执⾏会失败
第⼀种和第⼆种其实最终都依赖⽣成的jtl⽂件,将jtl⽂件⽣成测试报告。双击测试报告中的index.html⽂件即可查看报告内容
2:插件模式将jtl转成测试图表
第三种:利⽤GUI页⾯图形化展⽰jtl⽂件数据
下载插件JMeterPlugins-Extras.jar、CMDRunner.jar、JMeterPlugins-Standard.jar放到本地windows机器的jmeter的lib/ext⽬录下,插件可以去官⽹下载,这⾥我也给出我的插件地址(只需解压缩拷贝其中lib包下的jar⽂件到lib/ext⽬录下即可):/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个步骤⾛⼀遍就⾏
第四种:利⽤CMDRunner.jar插件⽤命令⾏的⽅式将jtl转成想要的png或者csv形式,这个⽅式⽐3的好处在于3利⽤gui页⾯有时jtl⽂件数据量很⼤可能要等很久
⾸先进⼊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、 ResponCodesPerSecond、 ResponTimesDistribution、
ResponTimesOverTime、 ResponTimesPercentiles、 ThroughputVsThreads、 TimesVsThreads、 PageDataExtractorOverTime、 PerfMon
我们可以⽤⼀个windows的bat批处理⽂件,来执⾏上⾯的命令,命令执⾏完以后去相应⽬录下收取结果png图⽚就可以了

本文发布于:2023-07-29 06:21:49,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/1122460.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:请求   测试   响应   看到   结果   时间
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图