zoukankan      html  css  js  c++  java
  • JMeter工具基础知识篇-第三集-聚合报告详解

    转载于金阳光测试

    聚合报告:

    【聚合报告是什么】

    这里的聚合,就是一组数据的集合,集合的什么数据呢,接口、请求、事务等的各种性能统计指标,比如做接口功能测试的时候,你需要查看接口的响应时间、是否成功、请求报文字节数、响应报文字节数等。如果是模拟大量用户的多线程接口测试,就是性能测试或压力测试了,我们会关注相应接口的最快响应时间、最慢响应时间、平均响应时间、排在中间的响应时间、90%的用户请求响应时间是否集中在1秒内、成功率/错误率是多少、服务器一秒钟能处理多少个订单、服务器一秒钟的吞吐量(接受的报文字节数、返回的报文字节数)是多少等等。既然接口测试或者接口性能测试有这么多关注有价值的指标,那我们就来一探究竟吧(注意注意,如果你把这些指标学会了,下次换了一个性能工具,关注的依然是这些指标,到时候你会有似曾相识的感觉,这就是我想教给你的,学知识,学的是原理哈,不是硬生生的工具哦)

    【示例截图】

    【13个指标说明】

    上面是我在项目中进行虚拟卡账户系统的相关接口请求,在Aggregate Report(聚合报告)中,每个接口请求会显示独立的一行数据,每行有13个字段,含义分别如下:

    1、 Label请求名或者请求标签,每个JMeter 的组件(例如 HTTP Request)都有一个 “名称” 属性,这里显示的就是“名称”属性的值

    2、 #Samples表示你这次测试中一共发出了多少个请求,如果模拟10个用户,每个用户迭代10次,那么这里显示就是100了

    3、 Average平均响应时间,默认情况下是单个 Request 的平均响应时间,当使用了Transaction Controller 时,也可以以Transaction 为单位显示平均响应时间

    4、 Median中位数,也就是所有请求响应时间中排在中间的那个响应时间点,也就是50% Line,请参考90% Line解释

    5、 90% Line

    90%用户请求响应时间,如果把某次任务的所有请求的响应时间按从小到大排序,它是指排在90%处那个点的请求的响应时间,也就是说有90%的请求的响应时间小于等于这个响应时间。后面的50/60/70/80/90/95/99 % Line 也是类似的含义。

    为什么有90%响应时间?这跟我们高中数学里的统计学和正态分布有点关系哈,统计这个东西,是对所有数据进行抽样检查,抽样数据越多结果越准确,抽样点分布越均匀抽样数据质量越高,结果越精确。所以在统计的时候,需要排除一些异常的数据,去除一些偶发性或者垃圾数据对整体样本结果导致的不准确。不同的n%数据,是为了让我们更好地去分析响应时间的分布及变化趋势,用于判断系统的处理性能和稳定性。

    举个例子:某个接口请求了1000次,800个请求点都是1秒,100个为0.8秒,50个为20秒,50个为300秒。对于这一组数据,平均响应时间为:2.48秒,最小响应时间为0.8秒,最大响应时间为300秒,90%响应时间为1秒,95%响应时间为20秒,99%响应时间为300秒,为什么有这么多不同的指标点,说白了就是为了从不同的角度和数据维度去分析问题,排除一些异常统计点对整个抽样数据造成的影响,导致统计结果不准确。

    6、 95% Line95%用户请求响应时间,请参考90% Line解释

    7、 99% Line99%用户请求响应时间,请参考90% Line解释

    8、 Min最小响应时间,所有请求样本中的最小响应时间

    9、 Max最大响应时间,所有请求样本中的最大响应时间

    10、Error%本次测试中“出现错误的请求数/请求的总数”百分比值

    11、Throughput吞吐量,就是服务器在一定时间范围内处理的请求数。在本报告中它的含义其实其实是吞吐率,表示每秒完成的请求数(Request per Second),此指标代表服务器的处理能力,比如2016年支付宝峰值处理量达到12万笔/秒。

    12、Received KB/sec每秒从服务器端接收到的数据量

    13、Sent KB/sec每秒从客户端发送到服务器端的数据量

    备注:只讲干货,将知识的本质和原理辅以例子,让你学起来知其然并且知其所以然,让你一次的学习解决一类知识点!让我们一起学习并快乐着。如果觉得好,请动动手指转发吧,做一个知识的传播者,share knowledge with the world!

  • 相关阅读:
    java中的 equals 与 ==
    String类的内存分配
    SVN用命令行更换本地副本IP地址
    npoi 设置单元格格式
    net core 微服务框架 Viper 调用链路追踪
    打不死的小强 .net core 微服务 快速开发框架 Viper 限流
    net core 微服务 快速开发框架 Viper 初体验20201017
    Anno 框架 增加缓存、限流策略、事件总线、支持 thrift grpc 作为底层传输
    net core 微服务 快速开发框架
    Viper 微服务框架 编写一个hello world 插件02
  • 原文地址:https://www.cnblogs.com/wang1122/p/7591769.html
Copyright © 2011-2022 走看看