监听器用来监听及显示JMeter取样器测试结果,能够以树、表及图形形式显示测试结果,也可以以文件方式保存测试结果,JMeter测试结果文件格式多样,比如XML格式、CSV格式。默认情况下,测试结果将被存储为xml格式的文件,文件的后缀: ".jtl"。另外一种存储格式为CSV文件,该格式的好处就是效率更高,但存储的信息不如xml格式详细
监听器有以下5种类型:
1.树(Tree)
2.表(Table)
3.图(Graph)
4.日志(Log)
5.报告(Report)树
查看结果树
察看结果树,显示取样器请求和响应的细节以及请求结果,包括消息头,请求的数据,响应的数据。
注意!!!敲黑板
(1)察看结果树,放的位置不同,查看的结果也不同。在线程组下添加察看结果树,查看线程组下所有请求的结果;放在具体某个请求下,只查看此请求的结果;若放在某个控制器节点下,则查看此控制器下节点执行的结果;
(2)该监听器推荐做调试用,在实际运行压测时,应该禁用,因为大量请求时,启用该监听器时打印的日志比较多,会造成大IO消耗,影响压力机性能。

关键参数说明如下:
名称:控制器的描述性名称,显示在左边节点上,并用于命名事务
注释:控制器注释信息,非必填项
文件名:载入文件名
Log/Display Only: 仅日志错误、Success ;勾选中显示对应的日志信息
Configure:定义report中自己所关心的数据项。
取样器结果:
Thread Name: 线组名称
Sample Start: 启动开始时间
Load time: 加载时长
Latency: 等待时长
Size in bytes: 发送的数据总大小
Headers size in bytes: 发送头大小
Body size in bytes: 发送数据的其余部分大小
Sample Count: 发送统计
Error Count: 错误统计
Response code: 返回码
Response message: 返回消息
Response headers:返回头信息
请求
数据获取方式、路径、地址等以及传递的参数、cookie
响应数据
响应加载的页面html
3、作用
1)查看请求结果,请求成功的测试通常为绿色;红色则代表失败。
注:在没有对请求断言的情况下,显示绿色并不一定是成功,只代表响应码是200或300系列,显示红色说明响应码是400或500系列。所以要想确定请求返回的是正确的,必须要加上断言,只有断言成功才会显示绿色。
2)查看对应Sampler的测试结果的请求、响应数据。
- 取样器结果:显示的是取样器相关参数(客户端参数与响应参数)
- 请求:发送请求的具体内容
- 响应数据:服务器返回的相应参数
报告
聚合报告
聚合报告,记录这次性能测试的总请求数、错误率、用户响应时间(中间值、90%、最少、最大)、吞吐量等,用以帮助分析被测试系统的性能。在聚合报告中,各个响应时间不能超过客户的要求,就是合格,例如不能超过响应时间2s,大于2s就是不合格的.
聚合报告应该是最详细的报告了,也是最为常用的报告。是大家在压测过程中最常用的监听器。
该监听器对于每个请求,它统计响应信息并提供请求数,平均值,最大,最小值,中位数、90%、95%、错误率,吞吐量(以请求数/秒为单位)和以kb/秒为单位的吞吐量。
单击Configure按钮,可以配置结果保存各种选项,具体这里不做说明了

关键参数说明如下:
Name:名称,可以随意设置,甚至为空;
Comments:注释,可随意设置,可以为空;
Label :每个 JMeter 的 element(例如 HTTP Request)都有一个 Name 属性,这里显示的就是 Name 属性的值
#Samples :表示测试中一共发出了多少个请求,如果模拟10个用户,每个用户迭代10次,那么这里就显示对应的 HTTP Request的执行次数是100
Average :平均响应时间——默认情况下是单个 Request 的平均响应时间,当使用了 Transaction Controller 时,也可以以Transaction 为单位显示平均响应时间
Median :50%用户的响应时间
90%Line :90%用户的响应时间
Min :最少响应时间
Max :最大响应时间
Error% :本次运行测试中出现错误的请求的数量/请求的总数
Throughput :吞吐量,默认情况下表示每秒完成的请求数(Request per Second),当使用了 Transaction Controller 时,也可以表示类似 LoadRunner 的 Transaction per Second 数
(接收/发送)KB/sec :每秒从服务器端接收到的数据量,相当于LoadRunner中的Throughput/Sec
汇总报告
汇总报告,为测试中的每个不同命名的请求创建一个表行。这与聚合报告类似,只是它使用更少的内存。提供了最简要的测试结果信息,同时可以配置将相应的信息保存至指定的文件中(支持xml、csv格式的文件)。
单击Configure按钮,可以配置结果保存各种选项,具体这里不做说明了。
该监听器是笔者在调试jmeter项目时常用的监听器之一。

关键参数说明如下:
Name:名称,可以随意设置,甚至为空;
Comments:注释,可随意设置,可以为空;
Label 取样器别名,如果勾选Include group name ,则会添加线程组的名称作为前缀
# Samples 取样器运行次数
Average 请求(事务)的平均响应时间
Min 请求的最小响应时间
Max 请求的最大响应时间
Std. Dev 响应时间的标准方差
Error % 事务错误率
Throughput 吞吐量 也就是TPS
Received KB/sec 每秒收到的千字节
Sent KB/sec 每秒发送的千字节
Avg. Bytes 响应平均流量
表
用表格查看结果
用表格查看结果,这个listener用来显示每个请求的响应头信息,我觉得它最好用的一点就是可以按先后顺序显示每个请求的开始时间、耗时、响应状态等,方便进行结果分析

图
1.Transactions per Second
监听动态TPS,用来分析吞吐量。其中横坐标是运行时间,纵坐标是TPS值。红色表示通过的TPS,绿色表示失败的

2.Hits per Second
动态监听单位时间的点击率,也就是触发的请求数。其中横坐标是运行时间,纵坐标是HPS值

3.Response Times Over Time
监听整个事物运行期间的响应时间。其中横坐标是运行时间,纵坐标是响应时间(单位是毫秒), 系统的响应时间的变化,可以看出响应时间稳定性

4. Active Threads Over Time
秒的活动线程数, X轴表示访问的时刻,Y轴表示活动线程数,F(X,Y)表示某个时刻的活动线程数(也就是并发数)

5.jp@gc - Bytes Throughput Over Time
聚合报告里,Throughput是按请求个数来展示的,比如说1.9/sec,就是每s发送1.9个请求;而这里的展示是按字节Bytes来展示的图表,每秒传输字节吞吐量,表明Jmeter在测试时,随着时间推移发送和接受的字节数

6.jp@gc - PerfMon Metrics Collector
服务器性能监测控件,包括CPU,Memory,Network,I/O等等

7.jp@gc - Reponse Latencies Over Time
记录客户端发送请求完成后,服务器端返回请求之前这段时间( 每秒钟的响应等待时间) 表明Jmeter测试期间,随着时间的推移系统的响应等待时间的变化,也是系统随着时间推移,系统效率的变化

8.Response Time Graph
响应时间图,响应时间图形监听器。有点和我们之前介绍的Aggregate Graph类似

关键参数说明如下:
Name:名称,可以随意设置,甚至为空;
Comments:注释,可随意设置,可以为空;
Graph setting 图片设置
Interval:横坐标的刻度
Title 标题 默认
Line setting 线条设置 默认
Graph size 图片尺寸 默认
X Axis 横坐标 默认
Y Aixs 纵坐标
Scale maximum value 纵坐标长度
increment scale 纵坐标的刻度 ;Legend 字体设置 默认
- Interval (ms) X轴间隔的时间(以毫秒为单位)
- Sampler label selection 按结果标签过滤。可以使用正则表达式
- Title 在图表的头部定义图表的标题
- Line settings 定义线条的宽度
- Graph size 根据当前JMeter窗口大小的宽度和高度计算图形大小。使用“ 宽度”和“ 高度”字段定义自定义大小。单位是像素。
- X Axis settings 自定义X轴标签的日期格式
- Y Axis settings 为Y轴定义自定义最大值(以毫秒为单位)
- Legend 定义图表图例的放置和字体设置
9. Response Codes per Second
每秒返回的响应码,表明Jmeter测试期间,随着时间的推移返回的响应码,从中我们可看到测试期间在哪个时间段内出现了错误。就可以分析在该时间内系统的什么环境因素,导致的错误

10. Response Times Percentiles
响应时间百分比,X轴表示的是百分比,Y轴表示的是响应时间,F(X,Y)表示低于某个百分比的响应时间,比如有80%的响应低于400ms

11. Response Times vs Threads
响应时间用户数, X轴表示的是活动线程数,也就是并发访问的用户数,Y轴表示的是响应时间,F(X,Y)表示在某种并发量的情况下,系统的响应时间是多少

12. Response Times Percentiles
响应时间百分比,X轴表示的是百分比,Y轴表示的是响应时间,F(X,Y)表示低于某个百分比的响应时间,比如有80%的响应低于400ms

13. Response Times Distribution
响应时间分布, X轴表示的是响应时间,Y轴表示的是响应次数,F(X,Y)表示系统在某种响应时间内的响应次数是多少,如果在响应时间短的地方,响应次数多,说明系统的效率比较高

其他
后端监听器
后端监听器,是一个异步侦听器,可以将数据推入都数据库中,提供了InfluxDB,graphite选项(jmeter自带图标比较搂,influxDB+grafana图标展示更高大上)

关键参数说明如下:
Name:名称,可以随意设置,甚至为空;
Comments:注释,可随意设置,可以为空;
Backend Listener implementation:BackendListenerClient类的实现,Jmeter默认提供如下两种实现,因为我们使用的influxdb作为持久存储
org.apache.jmeter.visualizers.backend.graphite.GraphiteBackendListenerClient
org.apache.jmeter.visualizers.backend.graphite.InfluxdbBackendListenerClient 因为我们使用的influxdb作为持久存储,所以后续只介绍InfluxdbBackendListenerClient
Async Queue size:异步队列大小 队列值包含异步处理时的度量标准。除非有一些特定的性能问题,否则最好不要从默认的5000。
3、我们使用InfluxdbBackendListenerClient
- influxdbMetricsSender:org.apache.jmeter.visualizers.backend.influxdb.HttpMetricsSender
- influxdbUrl:influx数据库的url。example : http://influxHost:8086/write?db=jmeter
- application:被测试的应用名称。此值也作为名为“application”的标记存储在“events”中
- measurement:使用默认的”jmeter“就行
- summaryOnly:为true的情况下,只输出所有请求的集合数据报告,为flase的情况下,输出每条数据的详情报告、
- samplersRegex:正则表达式将与样本名称匹配并发送到后端。默认匹配所有
- testTitle:测试名称。默认的设置为 Test name。该值作为名为“text”的字段存储在“事件”度量中。 JMeter在测试的开始和结束时自动生成一个注释,其值以'started'和'ended'结尾
- percentiles:要发送到后端的百分位数,多个值已
;分割 - TAG_WhatEverYouWant:自定义标签。您可以根据需要添加任意数量的自定义标签。对于它们中的每一个,只需创建一个新行并在其名称前加“TAG_”





Comments | NOTHING