Jmeter Summariser report及其可视化
Jmeter summariser report的设置在:bin/jmeter.properties
#--------------------------------------------------------------------------- # Summariser - Generate Summary Results - configuration (mainly applies to non-GUI mode) #--------------------------------------------------------------------------- # # Define the following property to automatically start a summariser with that name # (applies to non-GUI mode only) summariser.name=summary # # interval between summaries (in seconds) default 3 minutes summariser.interval=180 # # Write messages to log file summariser.log=true # # Write messages to System.out #summariser.out=true
以上设置每隔3分钟向jmeter.log中写入一行log
# Combined log file (for jmeter and jorphan)
log_file=jmeter.log
log的格式如下:
2017-11-21 15:49:14,389 INFO o.a.j.t.JMeterThread: Thread started: 线程组 1-100 2017-11-21 15:49:14,392 INFO o.a.j.p.h.s.HTTPHC4Impl: HTTP request retry count = 0 2017-11-21 15:49:14,408 INFO o.a.j.s.SampleResult: Note: Sample TimeStamps are START times 2017-11-21 15:49:14,411 INFO o.a.j.s.SampleResult: sampleresult.default.encoding is set to ISO-8859-1 2017-11-21 15:49:14,411 INFO o.a.j.s.SampleResult: sampleresult.useNanoTime=true 2017-11-21 15:49:14,411 INFO o.a.j.s.SampleResult: sampleresult.nanoThreadSleep=5000 2017-11-21 15:49:30,006 INFO o.a.j.r.Summariser: summary + 4857 in 00:00:16 = 308.1/s Avg: 258 Min: 22 Max: 7941 Err: 0 (0.00%) Active: 100 Started: 100 Finished: 0 2017-11-21 15:50:00,002 INFO o.a.j.r.Summariser: summary + 11529 in 00:00:30 = 384.3/s Avg: 271 Min: 30 Max: 21225 Err: 0 (0.00%) Active: 100 Started: 100 Finished: 0 2017-11-21 15:50:00,003 INFO o.a.j.r.Summariser: summary = 16386 in 00:00:46 = 358.1/s Avg: 267 Min: 22 Max: 21225 Err: 0 (0.00%) 2017-11-21 15:50:30,004 INFO o.a.j.r.Summariser: summary + 12104 in 00:00:30 = 403.5/s Avg: 233 Min: 43 Max: 15109 Err: 31 (0.26%) Active: 100 Started: 100 Finished: 0 2017-11-21 15:50:30,005 INFO o.a.j.r.Summariser: summary = 28490 in 00:01:16 = 376.0/s Avg: 252 Min: 22 Max: 21225 Err: 31 (0.11%) 2017-11-21 15:51:00,002 INFO o.a.j.r.Summariser: summary + 12112 in 00:00:30 = 403.8/s Avg: 268 Min: 44 Max: 84469 Err: 51 (0.42%) Active: 100 Started: 100 Finished: 0 2017-11-21 15:51:00,003 INFO o.a.j.r.Summariser: summary = 40602 in 00:01:46 = 383.9/s Avg: 257 Min: 22 Max: 84469 Err: 82 (0.20%) 2017-11-21 15:51:30,017 INFO o.a.j.r.Summariser: summary + 11994 in 00:00:30 = 399.6/s Avg: 245 Min: 40 Max: 17814 Err: 42 (0.35%) Active: 100 Started: 100 Finished: 0 2017-11-21 15:51:30,018 INFO o.a.j.r.Summariser: summary = 52596 in 00:02:16 = 387.4/s Avg: 254 Min: 22 Max: 84469 Err: 124 (0.24%) 2017-11-21 15:52:00,003 INFO o.a.j.r.Summariser: summary + 12153 in 00:00:30 = 405.3/s Avg: 250 Min: 34 Max: 13470 Err: 26 (0.21%) Active: 100 Started: 100 Finished: 0 2017-11-21 15:52:00,004 INFO o.a.j.r.Summariser: summary = 64749 in 00:02:46 = 390.6/s Avg: 254 Min: 22 Max: 84469 Err: 150 (0.23%) 2017-11-21 15:52:30,069 INFO o.a.j.r.Summariser: summary + 12318 in 00:00:30 = 409.7/s Avg: 234 Min: 40 Max: 14107 Err: 17 (0.14%) Active: 100 Started: 100 Finished: 0 2017-11-21 15:52:30,070 INFO o.a.j.r.Summariser: summary = 77067 in 00:03:16 = 393.5/s Avg: 250 Min: 22 Max: 84469 Err: 167 (0.22%) 2017-11-21 15:53:00,004 INFO o.a.j.r.Summariser: summary + 11864 in 00:00:30 = 396.3/s Avg: 253 Min: 39 Max: 25669 Err: 33 (0.28%) Active: 100 Started: 100 Finished: 0
summary +是这三分钟的数据,summary =是累计到当前时刻所有的数据
以黄色区域数据为例,4857是发出的请求数目,00:00:16是发出的时间, 308.1是每秒发出的请求,即吞吐量,Avg, Min, Max分别是平均响应时间,最小响应时间和最大响应时间,响应时间指的是从请求发出到收到响应的时间,Err后面跟的数据分别是错误数和错误比例。
对于summariser报告,可以通过写一个简单的脚本来解析并作图形化展示,下面是用python写的一个简单脚本,可以画平均时延和吞吐量,使用方法是
python summary.py test.log,下面是summary.py内容:
import matplotlib.pyplot as plt import re import sysavgtime_data=[] mintime_data=[] maxtime_data=[] throughput_data=[]logfile=open(sys.argv[1]) try:while True:line=logfile.readline()if line=='':breakif line.startswith('summary ='):result=re.split(r'\s+', line)avgtime_data.append(result[8])throughput=result[6]throughputvalue=throughput[:-2]throughput_data.append(throughputvalue) finally:logfile.close()plt.figure(figsize=(8,4)) plt.ylim(0,60) plt.plot(avgtime_data,color="red",label="Avg ResponseTime (milliseconds)") plt.plot(throughput_data,color="green",label="ThroughPut (/s)") frame = plt.gca() frame.axes.xaxis.set_ticklabels([]) plt.xlabel("Duration, 2013/06/25 16:30:00 -- 2013/06/28 6:00:00, about 60 hours") plt.title("sundong Jmeter Test Report") plt.legend() plt.show()
注意里面用到了正则表达式,其实在log文件非常大的时候,每行都进行正则匹配,效率是很低的。分享下我们项目使用的切片方法写的rpc-server,效率要高出10几倍
import sysreload(sys) sys.setdefaultencoding('utf8') import zerorpcclass RPCServer(object):def getLogData(self,filename):avgtime_data=[]throughput_data=[]tps_data=[]tpsput_data=[]with open(filename, 'r') as f:for line in f:if 'summary =' in line:rs = line.split('Avg:')avgtime_data.append(rs[1][0:6])throughput_data.append(rs[0][-10:-3])return avgtime_data,throughput_datas = zerorpc.Server(RPCServer()) s.bind("tcp://0.0.0.0:4242") s.run()
通过rpc server获取jmeter master的log日志里的数据,应用通过rpc client进行调用
参考:
1、http://blog.csdn.net/just_lion/article/details/9209253
转载于:https://www.cnblogs.com/shengulong/p/7883294.html
Jmeter Summariser report及其可视化相关推荐
- JMeter+InfluxDB+Grafana实现可视化实时监控
本文我们将介绍如何使用JMeter+InfluxDB+Grafana打造可视化实时监控. 目录 一.简介 概述 简单介绍实现原理 二.indluxdb安装和部署 1.indluxdb下载 2.修改in ...
- 时间管理软件 压力测试软件JMeter 微信小程序可视化代码生成 黑客网站
前言 毕业有三个星期了,认为自己应该有更好的时间观念,任务观念,网上搜索了好久,功夫不负有心人,终于找到了可以在window,mac,ios,android上兼容的时间管理软件.时光序 当然做为软件工 ...
- Jmeter Aggregate Report 与 Summary Report 分析
关于Aggregate Report和 Summary Report里面每个字段的说明,在网上有很多资料,在此不做说明. 本文主要讲Aggregate Report与Summary Report对比我 ...
- 【Jmeter】 Report Dashboard 生成html图形测试报告
背景 最近在学习Jmeter相关的东西,今天看了下Jmeter的官方文档,没想到在入门指南(Getting Started)第二条中就看到了让人惊喜的东西:可以利用既有测试数据生成HTML格式的Rep ...
- 【二十二】win 10 :Jmeter 报告可视化 —— 配置 Jmeter 接口 HTML 可视化测试报告,Jenkins + Jmeter + Ant 自动化集成环境搭建
目录 一.环境搭建 二.文件下载 三.文件配置 四.本地调试 五.创建.bat文件 六.Jenkins配置邮件 七.配置测试项目 八.自动部署成功校检 九.jmeter仪表盘HTML报告自动化构建 一 ...
- JMeter系统并发测试
官网下载https://jmeter.apache.org/download_jmeter.cgi 也可在我的资源中下载https://download.csdn.net/download/qq_39 ...
- jmeter压力测试linux,JMeter压力测试
JMeter压力测试 整体目标: 安装虚拟机,并安装一套LAMP(Linux+Apache+Mysql+PHP)待测系统,推荐ECShop(http://www.ecshop.com),基于此进行Jm ...
- Style Report 培训开始啦!!
2019独角兽企业重金招聘Python工程师标准>>> 如果你是Style Report使用者,如果你是对Style Report感兴趣的IT技术人员,如果你想学习Style Rep ...
- 【Jmeter】安装配置:Jmeter 自定义创建桌面快捷方式
目录 一.Jmeter 直接发送桌面快捷方式可能出现问题 二.制作 Jmeter 透明图标 ico (1)Jmeter 自带羽毛图标制作 ico (2)自定义图片抠图制作 ico (3)将制作好的 i ...
最新文章
- SAP中有关差异的一些概念
- 机器学习笔记 invariance data augmentation
- flask 定义数据库关系(一对多) --
- COBBLER无人值守安装-----已用真实服务器测试
- ASP.NET中禁止继承IIS中web.config根目录的配置
- C#项目学习 心得笔记本
- MySQL解压缩版配置安装详解【图解】
- Gulp介绍与入门实践
- 流体力学CFD前处理软件-Gambit
- 机器人手眼标定Ax=xB(eye to hand和eye in hand)及平面九点法标定
- 网站服务器域名费用入什么科目,企业域名服务费记什么科目
- 寿司之神--小野二郎
- python登录qq定时发消息_python自动发送qq消息
- 桐桐的数学难题(质因数分解)
- 吕 思 伟 ---- 潘 爱 民 :: ATL 介 绍( 二 )
- 【数据可视化】python/pyecharts 画地图(热力图)(世界地图,省市地图,区县地图)、动态流向图
- 网站在线监控工具Statping
- 哨兵2a 波段组合_一种针对哨兵2A影像的建筑物阴影提取处理方法与流程
- mysql中BY是什么意思,order是什么意思-sql中的orderby是什么意思它是在什 – 手机爱问...
- 分享|自己平时常用的几款效率工具