JMeter(四):监听器

目录

JMeter(一):基础概念
JMeter(二):配置元件
JMeter(三):变量参数化

监听器:可以理解为监控执行过程中的数据,提供了树形结构、表、图形和日志方式

默认情况下,测试结果将被存储为xml格式的文件,文件的后缀: ".jtl"。
另外一种存储格式为CSV文件,该格式的好处就是效率更高,但存储的信息不如xml格式详细。

以知乎网站为例,分析测试结果

模拟50个用户,在30秒内启动完成,循环20次

JMeter(四):监听器_第1张图片
知乎线程.png
1、查看结果树

显示取样器请求和响应的细节以及请求结果,包括消息头,请求的数据,响应的数据
作用
1)查看请求结果,请求成功的测试通常为绿色;红色则代表失败。
注:在没有对请求断言的情况下,显示绿色并不一定是成功,只代表响应码是200或300系列,显示红色说明响应码是400或500系列。所以要想确定请求返回的是正确的,必须要加上断言,只有断言成功才会显示绿色。

2)查看对应Sampler的测试结果的请求、响应数据。

  • 取样器结果:显示的是取样器相关参数(客户端参数与响应参数)
  • 请求:发送请求的具体内容
  • 响应数据:服务器返回的相应参数
JMeter(四):监听器_第2张图片
查看结果树.png

PS:该监听器推荐做调试用,在实际运行压测时,应该禁用,因为大量请求时,启用该监听器时打印的日志比较多,会造成大IO消耗,影响压力机性能。


2、聚合报告(表格时间已毫秒为单位)

该监听器统计每个请求的响应信息并提供请求数,平均值,最大,最小值,中位数、90%、95%、错误率,吞吐量(以请求数/秒为单位)和以kb/秒为单位的吞吐量。

  • Label:每个 JMeter 的 element(例如 HTTP Request)都有一个 Name属性,这里显示的就是 Name 属性的值
  • Samples:本次测试中一共发出了多少个请求,如果模拟10个用户,每个用户迭代10次,那么这里显示100
  • Average – 平均响应时间,默认情况下是单个 Request 的平均响应时间,当使用了 Transaction Controller 时,也可以以Transaction 为单位显示平均响应时间
  • Median – 中位数,表示响应时间不大于该时间值的请求样本数,也就是 50% 用户的响应时间
  • 90% line – 表示90%的请求在该耗时内完成
  • Min – 针对同一请求取样器,请求样本的最小响应时间
  • Max – 针对同一请求取样器,请求样本的最大响应时间
  • Error% – 出现错误的请求样本的百分比,本次测试中出现错误的请求的数量/请求的总数
  • Throughput – 吞吐量,默认情况下表示每秒完成的请求数(Request per Second),当使用了 Transaction Controller 时,也可以表示类似 LoadRunner 的 Transaction per Second 数,反应了服务器的处理能力
  • Received KB/sec – 每秒从服务器端接收到的数据量,相当于LoadRunner中的Throughput/Sec
    PS:以上时间单位是毫秒,千万不要弄错了
JMeter(四):监听器_第3张图片
聚合报告.png

单击Configure按钮,可以配置结果保存各种选项

JMeter(四):监听器_第4张图片
Configure配置

3、用表格查看结果
  • Sample:请求计数
  • StartTime:请求发送时间
  • ThreadName:发送请求的线程名称
  • Label:请求名称,即配置元件【HTTP请求】的名称
  • Sample Time(ms):请求耗时
  • Status:请求状态(绿色-成功;红色-失败)
  • Bytes:响应内容大小
  • Send Bytes:发送内容大小
  • Latency:等待时长
  • Connect Time(ms):连接耗时
JMeter(四):监听器_第5张图片
用表格查看结果.png
4、图形结果

主要看一段时间内的曲线走向趋势,需要结合其他指标一起分析

  • 样本数目:表示当前查看时发送到服务端的请求总数
  • 最新样本:代表时间,即服务端响应最后一个请求的时间
  • 平均:发送到服务端的请求总数/总运行时间
  • 偏离:服务端响应时间变化,离散程度测量值的大小
  • 吞吐量:服务端每分钟处理的请求数量
  • 中值:代表时间的数字,有一半的响应时间低于该值
JMeter(四):监听器_第6张图片
图形结果.png
5、Summary Report:概要报告

提供了最简要的测试结果信息,同时可以通过【Configure】配置将相应的信息保存至指定的文件中(支持xml、csv格式的文件)

  • Std.Dev. 标准差
  • 其余跟聚合报告类似
JMeter(四):监听器_第7张图片
Summary Report.png
6、邮件观察仪

作用:在线程跑失败或者成功时,满足条件时自动发送邮件给对应的人员

JMeter(四):监听器_第8张图片
邮件观察仪配置.png

Mailer settings:

  • Form:发件人 Addressee(s):收件人
  • Success Subject:执行成功后发送的邮件主题
  • Success Limit:成功次数大于设定值时,就会发生成功的邮件
  • Failure Subject:执行失败后发送的邮件主题
  • Failure Limit:失败次数大于设定值时,就会发生失败的邮件

SMTP server:smtp相关的配置

  • Host:服务器地址
  • Login:发件人邮箱用户名
  • Password:发件人邮箱授权码,代替邮箱密码
    查看方法:(163邮箱)设置-->POP3/SMTP/IMAP ,选择启用客户端授权码,然后设置授权码

设置好之后,点击Test mail来验证一下

JMeter(四):监听器_第9张图片
测试邮件.png

实际案例:
这里有一个疑问,总共有4个请求,3个成功的,但是只收到一封成功的邮件,除了获取创建异动申请单页面是Get请求,其余都是POST请求,有人知道为什么吗?

JMeter(四):监听器_第10张图片
实际案例邮件内容.png


其实Jmeter3.x也可以出具丰富的图形报告,只要需安装相应的插件

下载地址:http://jmeter-plugins.org/downloads/all
1、将 JMeterPlugins.jar 复制到 Jmeter的 lib 目录下,重启Jmeter

JMeter(四):监听器_第11张图片
插件.png

安装之后,监听器里有jp开头的,如图所示:

JMeter(四):监听器_第12张图片
jp插件.png

PS:不要添加太多的监听器,会影响性能


Jmeter响应结果乱码问题

1、修改配置文件
(1)打开bin目录下的jmeter.properties
(2)查找sampleresult.default.encoding,将值改成UTF-8(#是注释的意思,需要去掉),保存
(3)重启Jmeter

2、动态修改
(1)指定请求节点下,新建后置控制器"BeanShell PostProcessor"
(2)脚本框中输入:prev.setDataEncoding("UTF-8");
(3)保存

你可能感兴趣的:(JMeter(四):监听器)