快乐学习
前程无忧、中华英才非你莫属!

Jmeter入门到精通-7

监听器

   

监听器(Listeners)是一种展示采样结果的测试元件,采样结果可以通过树、表格、图片加以展示,或者简单地写入某个结果文件之中。

    

一、jmeter--Aggregate Graph监听器


使用场景:Aggregate Graph监听器可以看到表格显示的结果与图形结果,如下图,图形结果记录的是响应时间


参数说明:

文件名:结果文件存储到磁盘的路径与文件名

仅日志错误:是否仅记录错误事物

seccess:记录成功事物

Configure:弹出配置窗口进行配置

Label:请求别名

Samples:执行了多少次取样

Average:平均响应时间,单位毫秒

Median:响应时间中间件

90%line:90%事物响应时间

Min:最小响应时间

Max:最大响应时间

Error:出错率

Throught:吞吐量,可以理解成TPS




二、Backend Listener


利用JMeter监听器Backend Listener,配合使用InfluxDB+Grafana展示实时性能测试数据


关于JMeter实时测试数据


JMeter从2.11版本开始,命令行模式下执行测试的时候会有summary的实时结果输出:

在进行长时间的测试后,这个信息会越来越多,而且这些数据在测试完成之后进行读取和分析也很不直观,如果能有一个实时的图形结果来展示这些测试数据(不用等到测试完成后在JMeter里面创建图形查看),对执行测试的测试人员来说,这样的实时图形(对整个测试过程的性能数据监控)定会提供强大的帮助和数据支持。

JMeter 2.13版本刚好提供了这样的功能,只需要在脚本中加入监听器【Backend Listener】即可。

 

Backend Listener

该监听器可将测试过程中实时结果数据写到时序DB(InfluxDB,graphite等),本文以InfluxDB为例来保存数据,该监听器配置如下:

具体的参数配置和说明可见JMeter官网

 

InfluxDB&Grafana

InfluxDB:存储实时数据的DB,安装和配置都很easy,具体可以参考InfluxDB documentation.

Grafana:DB中存储的实时数据可以在浏览器(通过Grafana或Influga)查看,本文中以Grafana为例来说明如何进行图表实时展示,关于Grafana的安装和配置,可参考Grafana Docs

 

如何实现

1.前提条件

  • JMeter版本2.13或以上

  • InfluxDB和Grafana已安装,并且相应服务已启动(本文所使用系统为CentOS 6.5)

2.InfluxDB配置

  • 进入InfluxDB管理页面:http://<ip of InfluxDB>:8083

  • 新建DB:CREATE DATABASE jmeter

  • 修改配置文件:/etc/influxdb/influxdb.conf

  • 重启InfluxDB服务:service influxdb restart

3.JMeter数据写入InfluxDB

  • 脚本里添加监听器:Backend Listener

  • 配置graphiteHost,graphitePort:<ip of InfluxDB>,2003

  • 执行测试

  • 此时查看InfluxDB数据:

4.Grafana展示InfluxDB数据

  • 新增Data Source,DB指向步骤2中新建的DB:jmeter

  • 新增点击”Test Connection“确保连接到InfluxDB已经ok。

  • 至此,JMeter数据写入InfluxDB,通过Grafana前端展示的整个过程已配置成功,接下来,就可以在Grafana上施展拳脚,自定义自己想要的图形展示了(具体的图形配置和如何展示,可以参考Grafana的官方文档

 

总结

使用Backend Listener这个插件,可以不用等待整个测试执行完成之后才来查看测试结果和数据,在整个测试过程中,数据可以实时输出并以动态图表的形式在前端展示,极大方便了性能测试人员对实时性能测试数据的监控,加上Grafana强大的图表展示,每个测试人员都可以搭建出自己喜欢的图形化页面,并实时与其他人员共享,完成对整个性能测试过程中的实时数据监控。

 

附:Grafana非常漂亮的实时监控图表展示




评论

jmeter 中jsr232 listener例子


 目的,自己写listener是为了将测试结果格式化输出到指定的地方,便于后续阅读和整理。

 此处只是简单的格式化到日志中,便于进一步整理,留有测试记录使用。

 如何使用, 在jmeter中添加jsr223 listener, 语言选择javascript类型。 将如下代码加入到脚本框中。

 当每次执行测试后, 打开右上角的日志(黄色的三角叹号),则可以看到日志的打印。便于上下滚动查看测试结果,比 treeview 批量浏览数据时更方便。






如下是输出的日志示例。 还可以统计出错误的用例以及执行的用例等。自行添加即可。



Response Time Graph


测试计划-线程组-右键添加-监听器-Response Time Graph

在做压力测试的时候可以看到各个请求的响应时间点。

各词解释:

Graph setting 图片设置

Interval:横坐标的刻度


Title 标题 默认

Line setting 线条设置 默认

Graph size 图片尺寸 默认


X Axis 横坐标 默认


Y Aixs 纵坐标

Scale maximum value 纵坐标长度

increment scale 纵坐标的刻度


Legend 字体设置 默认




Simple Data Writer 

    此监听器可以将请求过程中的数据写入到一个文件,可以当做脚本运行的简易日志


Summary Report

所有数据写入一个文件:保存测试结果到本地。

文件名:指定保存结果。

仅日志错误:仅保存日志中报错的部分。

Successes:保存日志中成功的部分。

Configure:设置结果属性,即保存哪些结果字段到文件。一般保存必要的字段 信息即可,保存的越多,对负载机的IO会产生影响。

Label:取样器名称(或者是事务名)。

#Samples:取样器运行次数(提交了多少笔业务)。

Average:请求(事务)的平均响应时间,单位为毫秒。

Min:请求的最小响应时间,单位为毫秒。

Max:请求的最大响应时间,单位为毫秒。

Std.Dev:响应时间的标准方差。

Error%:事务错误率。

Throughput:吞吐率(TPS)。

KB/sec:每秒数据包流量,单位是KB。

Avg.Bytes:平均数据流量,单位是Byte。


保存响应到文件

说明:


文件名称前缀:设置响应文件所在路径(路径必须已存在)和文件前缀,上图为例,不勾选任何上述任何复选框的情况下,如果设置文件名称前缀为:D:dirresponse.txt 和d:dir,将分别生成下图文件



Save Failed Responses only:只保存失败的响应

Save Successful Responses only:只保留成功的响应

Don&apos;t add number to prefix:不添加数字到文件名前缀

Don&apos;t add suffix:不添加文件后缀,即扩展名(注:默认情况下,jmeter会根据服务器返回的结果自动生成合适类型的文件,比如服务器返回json格式的内容,jmter会自动生成.json文件)

Add timestamp:添加时间戳到文件前缀





注意:

默认的,该监听器会为所有sampler的每次请求分别建立一个单独的文件来保存响应结果,如果只想保存某个请求的返回结果咋办?把监听器拖动到某个请求作用域下,如下,只会保存HTTP请求2的响应结果

Jmeter 图形结果分析

图表底部参数的含义如下:



样本数目:总共发送到服务器的请求数。



最新样本:代表时间的数字,是服务器响应最后一个请求的时间。



吞吐量:服务器每分钟处理的请求数。



平均值:总运行时间除以发送到服务器的请求数。



中间值:代表时间的数字,有一半的服务器响应时间低于该值而另一半高于该值。



偏离:服务器响应时间变化、离散程度测量值的大小,或者,换句话说,就是数据的分布。

查看结果树

邮件观察仪


邮件观察仪:在线程跑失败或者成功时,可以设置是否发送邮件给对应的人员。 


1.添加一个邮件观察仪 

 


2.填写基本内容 

  

Message中 

From代表,发件人 

Address代表 收件人 

Success Limit 代表成功次数大于x时发送邮件 

Failure Limit 代表失败事务大于4时,发送邮件 

SMTP sever 

Host 填写邮件服务器名称 

Login发件人的邮箱地址 

点击TestMail 测试下是否可以发送成功,就可以投入使用了


来源:https://blog.csdn.net/lxgails00/article/details/38707493

来源:https://blog.csdn.net/lienfeng6/article/details/78284857?locationNum=1&fps=1

https://blog.csdn.net/lienfeng6/article/details/78284238

https://blog.csdn.net/ydppqh/article/details/47016767

https://blog.csdn.net/a23764996/article/details/70800051

https://www.yeetrack.com/?p=1263

打赏
赞(0) 打赏
未经允许不得转载:同乐学堂 » Jmeter入门到精通-7

特别的技术,给特别的你!

联系QQ:1071235258QQ群:710045715

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

error: Sorry,暂时内容不可复制!