侧边栏壁纸
博主头像
一朵云的博客博主等级

拥抱生活,向阳而生。

  • 累计撰写 67 篇文章
  • 累计创建 25 个标签
  • 累计收到 7 条评论

目 录CONTENT

文章目录

JMeter -- 常用监听器

一朵云
2022-02-19 / 0 评论 / 1 点赞 / 8289 阅读 / 7034 字

介绍:

  监听器用来监听及显示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消耗,影响压力机性能。

image.png

image.png

2、响应时间图形监听器(Response Time Graph)

  响应时间图形监听器也是以图形的形式显示取样器结果(响应时间),单位毫秒。

3、简单数据写入器(Simple Data Writer)

image.png

  用来记录取样器执行结果,不会以图形的方式显示,故而它有更高的效率,适合在做高压性能测试时使用。

4、汇总报告(Summary Report)

  汇总报告是以表格的形式显示取样器结果,同时也提供存储取样器结果的功能,并且可以配置存储哪些结果属性。

  如果不同取样器使用同一个名字,那么在汇总报告中会统计在同一行,所以取样器取名最好做区分,建议与业务功能有联系。

5、察看结果树(View Results Tree)

image.png

  察看结果树会显示取样器的每一次请求(每运行一次,结果树就会多个一节点,不管取样是否成功),所以大量运行会比较消耗机器资源,运行测试计划时不建议开启,一般用于调试阶段。

参数说明:

  • Text 下拉列表:其中有Text、Xpath Tester、JSON等选项,用来显示不同的取样器请求。

  • 取样器结果:显示取样器运行结果。

  • 请求:显示请求表单内容,不同取样器还会有不同显示格式,而且会帮我们分组了。

  • 响应数据:显示服务器响应数据,同时还提供了查询功能。

6、Assertion Results(断言结果)

  对取样器进行断言后,此元件可以帮助我们显示断言结果(察看结果树中也会显示断言结果)。

  同理,由于“断言结果”会显示每一次取样器的断言结果,所以在执行性能测试计划时,不建议使用,避免占用过多资源。

image.png

image.png

image.png

7、表格形式显示(View Results in Table)

  该元件会把取样器每次结果以表格的形式显示,同样在执行性能测试计划时不建议使用,避免过多的资源消耗。

image.png

8、窗口显示结果(Generate Summary Results)

  我们知道GUI方式执行性能测试计划时,太多的监听器会比较消耗系统资源。

  那么思考是否可以使用非GUI方式运行呢?

  正常情况下,使用GUI运行JMeter脚本,我们是无法查看到测试过程中分结果的,所以JMeter为我们提供了“窗口显示结果”监听器,让测试结果在CMD窗口中显示。

示例演示与操作:

jmeter 使用非 GUI 方式执行,并使用“窗口显示结果”监听器。

image.png

指令说明:

-n: 表示 non gui mode,就是非图形化模式
 
-t: 即testplan,后跟要运行的jmeter脚本的路径和脚本名称。
 
    若指定路径下没有指定名称的脚本,则自动创建。
 
    若没有路径只写脚本名称,则默认是在当前目录查找或创建。
 
-l: 后跟输出结果文件路径和结果文件名称。
 
    若指定路径下没有指定名称的脚本,则自动创建,可以生成csv或者jtl文件。
    
    若只写脚本名称,则默认是在当前目录查找或创建。
 
 
示例: jmeter -n -t testplan.jmx -l test.csv
 
示例含义:以命令行模式运行当前目录下的testplan.jmx文件,并在当前目录下输出日志文件test.csv

测试结果:

image.png

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方式运行蒋义还是选择“聚合报告”监听器。

image.png

10、邮件观察仪(Mailer Visualizer)

  性能测试执行过程中,可以通过该监听器在较多响应错误的情况下发送邮件给相关人员,当然想什么情况发送邮件可自定义。

image.png

参数说明:

  • From:发件邮箱地址。
  • Addressee:收件邮箱地址。
  • Success Subject:成功类邮件的标题。
  • Success Limit:发送成功类邮件的事务数阈值,如果在达到Failure Limit之后,已经有成功的事务数超过Success Limit则发送成功类的邮件。
  • Failure Subject:失败类邮件的标题。
  • Failure Limit:失败多少事务开始发送失败类邮件。
  • Host:邮件服务器地址。
  • Port:邮件服务器端口。
  • Login:发件人用户名。
  • Password:发件人用户名对应的密码。
  • Connection security:连接时采用的安全协议。

示例演示:

1、QQ邮箱启用SMTP功能,并生成授权码:

image.png

2、查看QQ邮箱SMTP服务器地址:

image.png

3、邮箱观察仪配置如下:

image.png

4、单线程,循环调用不稳定的http接口10次:

image.png

5、操作演示:

邮件观察仪示例.gif

6、总结:

  邮箱观察仪设置了错误阈值为2,成功阈值为3。当累计出现3个接口报错,JMeter就会发送邮件(警告);异常邮件发送后,后续累计出现4个接口正常,JMeter就会再次发送邮件(解除警告)。(Success Limit只会在发送失败邮件后,开始计数)

1

评论区