16.JMeter监听器


目录

1、查看结果树


1、查看结果树

  • 调试JMeter脚本最常用的监听器

  • 查看返回结果的

  • 最基础的结果如下:

  • 还可以将返回的数据通过不同格式进行查看,如常用的json格式的:


2、用表格查看结果

  • 如果请求比较多,用这个看比较直观


3、聚合报告

  • 聚合报告是一个比较精简的报告元件。

  • 可以查看每个接口的性能情况与执行结果。

  • 看聚合报告的前提:

    • ①、没有网络瓶颈
    • ②、并发用户数不变

      • 负载测试时,并发用户数会随着时间而变化,那变化了,就不能看聚合报告
  • 设置步骤:

    • 选中线程组--->添加--->监听器--->聚合报告
  • 说明:

    • Label
      • 每个请求的名称
    • Samples

      • 本次场景中各请求发出的数量,以及一共完成了多少个请求
    • Average

      • 平均响应时间,单位ms
      • 默认是单个请求的平均响应时间

      • 当使用了Transaction Controller时,也可以以Transaction为单位显示平均响应时间

    • Median

      • 50%的请求响应时间在这个时间之下,单位ms
      • 或者说50%的请求响应时间都不超过这个时间

    • 90% Line

      • 官网解释:90% Line - 90% of the samples took no more than this time. The remaining samples at least as long as this.
      • 90%的请求耗时没有超过这个时间,剩余的请求耗时至少在这个时间之上

      • 也就是说90%的请求耗时都在这个时间之下

      • 或者说90%的请求响应时间都不超过这个时间

    • 95% Line

      • 95%的请求响应时间都不超过这个时间
    • 99% Line

      • 99%的请求响应时间都不超过这个时间
    • Min

      • 最小响应时间
      • 所有请求中的最小响应时间

    • Max

      • 最大响应时间
      • 所有请求中的最大请求时间

    • Error

      • 出错率
      • 或者叫错误率

    • Throughput

      • /ˈθruːpʊt/
      • 吞吐量,接口处理能力的指标

      • 默认情况下,表示的是每秒完成的请求数,一般认为它是TPS

      • 但是TPS还要算下的,比如你10个用户,吞吐量为7.8/sec,那么TPS = 7.8 / 10 = 0.78
      • 如果你是100个用户,吞吐量为46/sec,那么TPS = 46 / 100 = 0.46

    • Received KB/sec

      • 每秒从服务器接收到的数据量
      • 属于吞吐率

    • Sent KB/sec

      • 每秒发送给服务器的数据量
      • 也属于吞吐率

      • 吞吐率跟带宽是有关系的,可以看出是否存在网络带宽问题的!

      • 那怎么看是否有网络瓶颈呢?

      • 怎么算?

        • 1Mb 带宽 = 1 * 1024 Kb = 1024 / 8 KB = 128 KB/s

        • 所以,理论上1M的带宽,上行/下行速度能达到128KB/s,那么只要你上面的聚合报告的吞吐率完全还没接近这个1M的值的时候,是完全没有网络瓶颈的!

          • 何况你公司的网络,怎么可能才1Mb 带宽,是不?
        • 那公司带宽一般咋看?

          • ①、看项目
            • 比如抖音、大公司、直播平台等,肯定很大
          • ②、一般的企业服务器,一般电商类的产品,也就几M带宽

  • 作为最重要的性能指标,最后【响应时间】的值如何选择?

    • 观察最小值和最大值的波动范围
      • 如果波动范围不大,那么可以以平均响应时间作为最终的性能响应时间结果
      • 如果波动范围大,那么可以以90%的响应时间来作为最终的性能响应时间结果

        • 你想,如果大部分都是正常的,结果来几个超级长的那样的,其他的很可能被平均
        • 你在公司里,你们十个人年薪都是差不多二十万,但是来了个马云,你们再一平均,那么肯定你们年薪平均好多个亿了,是不

        • 这就是传说中的被平均。


4、HTML报告

  • jmeter -n -t [testplan jmx file] -l [results file] -e -o [Path to web report folder]

    • 说明:
      • -n,非GUI方式运行
      • -t,指定.jmx脚本路径及脚本名称

      • -l,指定结果文件路径及结果文件名称

      • -e,设置测试完成后生成测试报告

      • -o,指定测试报告生成的文件夹,该文件夹必须为空或者不存在。

  • 1)进入jmeter的bin目录下

  • 2)报错

$ jmeter -n -t httpbin.jmx -l httpbin0913.jtl -e -o ./report1
Creating summariser <summary>
Error in NonGUIDriver java.lang.IllegalArgumentException: Report generation requires csv output format, check 'jmeter.save.saveservice.output_format' property
An error occurred: Error in NonGUIDriver Report generation requires csv output format, check 'jmeter.save.saveservice.output_format' property
  • 3)处理:

    • 需要把bin目录下的 “jmeter.properties”文件中的“jmeter.save.saveservice.output_format”的格式改为csv就可以了
495 # legitimate values: xml, csv, db.  Only xml and csv are currently supported.
496 jmeter.save.saveservice.output_format=csv
497 #jmeter.save.saveservice.output_format=xml
  • 4)用非GUI方式运行生成报告

# lanhai @ lanhaideMacBook-Pro in ~/lanhai_test/jmeter_test [0:11:03]
$ jmeter -n -t httpbin.jmx -l httpbin0913.jtl -e -o ./report1
Creating summariser <summary>
Created the tree successfully using httpbin.jmx
Starting standalone test @ Tue Sep 13 00:11:09 CST 2022 (1662999069907)
Waiting for possible Shutdown/StopTestNow/HeapDump/ThreadDump message on port 4445
summary =     16 in 00:00:07 =    2.4/s Avg:   355 Min:     1 Max:  1090 Err:     1 (6.25%)
Tidying up ...    @ Tue Sep 13 00:11:16 CST 2022 (1662999076660)
... end of run


5、其他监听器

  • 监听器很多,按需选择


6、备注

  • 很多监听器一般常用于GUI调试时候使用

  • 在真正跑性能测试脚本的时候,注意有些需要关掉,如查看结果树【它会耗费很多资源,可能影响测试结果】

  • 真正跑性能测试脚本的时候,一般都是用非GUI的模式,所以,脚本里面记得禁用不需要的组件


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值