介绍:
监听器用来监听及显示Jmeter取样器的测试结果,能以数、表及图形形式显示测试结果,也可以通过文件方式保存测试结果,JMeter 测试结果文件格式多样,如XML格式、CSV格式等。
不同的测试计划与测试目标对监控的要求不同,故而我们需要了解JMeter 都为我们提供了哪些监听器。
监听器中常见值说明:
- 样本(Samples):执行了多少次取样。
- 平均值(Average):平均响应时间,单位毫秒。
- 中位数(Median):响应时间的中间值。
- 90%百分位(90% Line):90%事务响应时间范围。
- 最小值(Min):最小响应时间。
- 最大值(Max):最大响应时间。
- 异常%(Error%):出错率。
- 吞吐量(Throughput):可以理解为TPS,每秒事务数。
- 接收/发送 KB/sec :数据传输量,单位 KB。
常用监听器:
1、汇总图(Aggregate Graph)
通过 Aggregate Graph 监听器我们可以看到表格显示的结果与图形结果,但是在实际运行压测时,应该禁用,因为大量请求时,该监听器会造成大IO消耗,影响压力机性能。
2、响应时间图形监听器(Response Time Graph)
响应时间图形监听器也是以图形的形式显示取样器结果(响应时间),单位毫秒。
3、简单数据写入器(Simple Data Writer)
用来记录取样器执行结果,不会以图形的方式显示,故而它有更高的效率,适合在做高压性能测试时使用。
4、汇总报告(Summary Report)
汇总报告是以表格的形式显示取样器结果,同时也提供存储取样器结果的功能,并且可以配置存储哪些结果属性。
如果不同取样器使用同一个名字,那么在汇总报告中会统计在同一行,所以取样器取名最好做区分,建议与业务功能有联系。
5、察看结果树(View Results Tree)
察看结果树会显示取样器的每一次请求(每运行一次,结果树就会多个一节点,不管取样是否成功),所以大量运行会比较消耗机器资源,运行测试计划时不建议开启,一般用于调试阶段。
参数说明:
-
Text 下拉列表:其中有Text、Xpath Tester、JSON等选项,用来显示不同的取样器请求。
-
取样器结果:显示取样器运行结果。
-
请求:显示请求表单内容,不同取样器还会有不同显示格式,而且会帮我们分组了。
-
响应数据:显示服务器响应数据,同时还提供了查询功能。
6、Assertion Results(断言结果)
对取样器进行断言后,此元件可以帮助我们显示断言结果(察看结果树中也会显示断言结果)。
同理,由于“断言结果”会显示每一次取样器的断言结果,所以在执行性能测试计划时,不建议使用,避免占用过多资源。
7、表格形式显示(View Results in Table)
该元件会把取样器每次结果以表格的形式显示,同样在执行性能测试计划时不建议使用,避免过多的资源消耗。
8、窗口显示结果(Generate Summary Results)
我们知道GUI方式执行性能测试计划时,太多的监听器会比较消耗系统资源。
那么思考是否可以使用非GUI方式运行呢?
正常情况下,使用GUI运行JMeter脚本,我们是无法查看到测试过程中分结果的,所以JMeter为我们提供了“窗口显示结果”监听器,让测试结果在CMD窗口中显示。
示例演示与操作:
jmeter 使用非 GUI 方式执行,并使用“窗口显示结果”监听器。
指令说明:
-n: 表示 non gui mode,就是非图形化模式
-t: 即testplan,后跟要运行的jmeter脚本的路径和脚本名称。
若指定路径下没有指定名称的脚本,则自动创建。
若没有路径只写脚本名称,则默认是在当前目录查找或创建。
-l: 后跟输出结果文件路径和结果文件名称。
若指定路径下没有指定名称的脚本,则自动创建,可以生成csv或者jtl文件。
若只写脚本名称,则默认是在当前目录查找或创建。
示例: jmeter -n -t testplan.jmx -l test.csv
示例含义:以命令行模式运行当前目录下的testplan.jmx文件,并在当前目录下输出日志文件test.csv
测试结果:
Generate Summary Results = 3 in 00:00:03 = 1.1/s Avg: 2011 Min: 2003 Max: 2028 Err: 0 (0.00%)
表示:
3 个请求总花费 3 秒,平均每秒发送 1.1 个请求。
AVG(响应时间平均值)为2011毫秒,
Min(响应时间最小值)为2003毫秒,
Max(响应时间最大值)为2028毫秒,
Err(请求错误率)为0% 。
9、聚合报告(Aggregate Report)
该监听器以表格形式显示取样器结果,与汇总图类似,但它没有图形显示功能,所以在资源消耗上要低,如果是GUI方式运行蒋义还是选择“聚合报告”监听器。
10、邮件观察仪(Mailer Visualizer)
性能测试执行过程中,可以通过该监听器在较多响应错误的情况下发送邮件给相关人员,当然想什么情况发送邮件可自定义。
参数说明:
- From:发件邮箱地址。
- Addressee:收件邮箱地址。
- Success Subject:成功类邮件的标题。
- Success Limit:发送成功类邮件的事务数阈值,如果在达到Failure Limit之后,已经有成功的事务数超过Success Limit则发送成功类的邮件。
- Failure Subject:失败类邮件的标题。
- Failure Limit:失败多少事务开始发送失败类邮件。
- Host:邮件服务器地址。
- Port:邮件服务器端口。
- Login:发件人用户名。
- Password:发件人用户名对应的密码。
- Connection security:连接时采用的安全协议。
示例演示:
1、QQ邮箱启用SMTP功能,并生成授权码:
2、查看QQ邮箱SMTP服务器地址:
3、邮箱观察仪配置如下:
4、单线程,循环调用不稳定的http接口10次:
5、操作演示:
6、总结:
邮箱观察仪设置了错误阈值为2,成功阈值为3。当累计出现3个接口报错,JMeter就会发送邮件(警告);异常邮件发送后,后续累计出现4个接口正常,JMeter就会再次发送邮件(解除警告)。(Success Limit只会在发送失败邮件后,开始计数)
评论区