1.说明

这是一个基于JMeter官方的Aggregate Report的监听器改进而来的监听器!!!

2.插件背景

早在很久之前,宝路就曾经改造过JMeter的Aggregate Report 的源码,建议大家先读下这两篇文章:

你真的了解JMeter聚合报告么

JMeter和LoadRunner的RT统计方式探究

3.插件原因

大概就在前几天,有很多同学私信宝路,有关我博文中的JMeter聚合报告源码优化的问题!其实一两句话也很难讲清楚!再结合最近宝路公众号发布的JMeter与LR的RT统计探究文章中提到的“我们常挂在嘴边谈论的RT”!

如果只改动源码的话,每当你升级JMeter版本后,需将改的代码重新移植到新版本JMeter!此时,把这些问题点进行优化做成一个插件更合适些!插件化才是我们的最终目的!

就这样!Baolu Aggregate TPS Report 插件诞生了!基于JMeter官方Aggregate Report优化改造而来!给予文章赞赏的同学已经第一时间收到了v1.1.0插件下载链接!!!就在写此文章材料验证准备时,也发现了一些极端情况下RT统计异常的bug!目前已经修复!夜深人静的时候,果然适合撸代码!!!

4.插件实战

脚本结构截图:

插件截图:

场景实战

 场景一:JavaSampler交易成率100%的情况对比!

Thread Group 设置10个线程,迭代10次,最终运行100次!结果如下:

我们可以看出,两者统计的出的值均一致!更精确的“吞吐量”值 同样一致!

场景二:JavaSampler交易成率50%的情况对比!此时脚本结构略有调整,Baolu Aggregate TPS Report 为2个

Thread Group 设置10个线程,迭代10次,最终运行100次!其中rt与flag均从参数化文件读取

上图中的11可以是除ok(不区分大小写)之外的任意值,执行结果:

嗯,大家看出统计结果不一样了吧!那么失败率为100%呢?会是什么样的结果?

场景三:JavaSampler交易成率0%的情况对比!

调整失败请求耗时为200ms,其余配置同场景二。

执行结果:

5.小结与思考

从几个对比场景不难看出:Baolu Aggregate TPS Report 监听器统计结果更符合我们日常口中谈论RT、TPS. 此种统计方式与传统工具LR统计一致。

大家可以参考宝路的这个思路尝试对Summariser改造!

现在许多公司都在做自己的测试平台,在数据收集这块不外乎以下几种方式:

  1. 独立开发数据引擎,负责整合计算数据,再结合grafana + InfluxDB进行展示。
  2. 传统JMeter方式收集计算数据,采用Backend Listener再结合grafana + InfluxDB进行展示。
  3. 其他自研监听插件,再配合grafana 或 echarts等等。

要说那种方式好!那肯定是第一种!希望大家在做自己的平台时要充分考虑到数据计算的严谨性!同时也希望此文能在思路上对大家有所帮助!插件可在“宝路测试手记”公众号下载!

Baolu Aggregate TPS Report的更多相关文章

  1. Jmeter Aggregate Report 与 Summary Report 分析

    关于Aggregate Report和 Summary Report里面每个字段的说明,在网上有很多资料,在此不做说明. 本文主要讲Aggregate Report与Summary Report对比我 ...

  2. jmeter之聚合报告(Aggregate Report)

    jmeter最常用的listener--聚合报告Aggregate Report,每一个字段的具体含义是什么? Label:每个请求的名称.每个 JMeter 的 element(例如 HTTP Re ...

  3. 理解 JMeter 聚合报告(Aggregate Report)

    Aggregate Report 是 JMeter 常用的一个 Listener,中文被翻译为“聚合报告”.今天再次有同行问到这个报告中的各项数据表示什么意思,顺便在这里公布一下,以备大家查阅. 如果 ...

  4. 转: 理解 JMeter 聚合报告(Aggregate Report)

    Aggregate Report 是 JMeter 常用的一个 Listener,中文被翻译为“聚合报告”.今天再次有同行问到这个报告中的各项数据表示什么意思,顺便在这里公布一下,以备大家查阅. 如果 ...

  5. 理解JMeter聚合报告(Aggregate Report)

    Aggregate Report 是 JMeter 常用的一个 Listener,中文被翻译为“聚合报告”.今天再次有同行问到这个报告中的各项数据表示什么意思,顺便在这里公布一下,以备大家查阅. 如果 ...

  6. 【转】理解JMeter聚合报告(Aggregate Report)

    Aggregate Report 是 JMeter 常用的一个 Listener,中文被翻译为“聚合报告”.今天再次有同行问到这个报告中的各项数据表示什么意思,顺便在这里公布一下,以备大家查阅. 如果 ...

  7. jmeter- 性能测试3:聚合报告(Aggregate Report )

    jmeter-监听器-聚合报告样例: 字段说明: label:请求名称,自己定义的 #Samples:这次测试中一共发出了多少个请求,如果模拟20个用户,每个用户迭代20次,那么就是400(未设置持续 ...

  8. JMeter聚合报告(Aggregate Report)理解

    部分内容转载: http://blog.csdn.net/lion19930924/article/details/51189218 http://www.cnblogs.com/fnng/archi ...

  9. Aggregate report 聚合报告

随机推荐

  1. Ant-design-vue—— 表单输入框输入很卡问题

    参考:https://blog.csdn.net/weixin_43905402/article/details/106074435 我的问题:vue项目中使用ant-design-vue,表单中输入 ...

  2. MDN All In One

    MDN All In One https://github.com/mdn/ https://wiki.mozilla.org/MDN MDN 要凉了 https://developer.mozill ...

  3. React Hooks: useState All In One

    React Hooks: useState All In One useState import React, { useState } from 'react'; function Example( ...

  4. 如何使用 js 实现一个 debounce 函数

    如何使用 js 实现一个 debounce 函数 原理 防抖: 是指在指定的单位时间内,如果重复触发了相同的事件,则取消上一次的事件,重新开始计时! 实现方式 "use strict&quo ...

  5. Node.js & 页面截图 & 生成画报

    Node.js & 页面截图 & 生成画报 https://zzk.cnblogs.com/my/s/blogpost-p?Keywords=headless solution 使用 ...

  6. Dart http库

    推荐下我写的一个http库ajanuw_http 最基本的获取数据 import 'package:http/http.dart' as http; main(List<String> a ...

  7. 苏黎世财经对话区块链专家,NGK如何利用时间价值实现自身的垂直扩张?

    近日,苏黎世财经日报联合法兰西金融等多家知名媒体,专访了NGK. 苏黎世财经日报专栏记者玛科尔德表示,随着NGK DeFi的明星代币BGV登上去中心化金融的舞台,它千倍的收益率让生态投资者趋之若鹜. ...

  8. Maven的-pl -am -amd参数

    本文转载自Maven的-pl -am -amd参数学习 昨天maven的deploy任务需要只选择单个模块并且把它依赖的模块一起打包,第一时间便想到了-pl参数,然后就开始处理,但是因为之前只看了一下 ...

  9. 物联网网关开发:基于MQTT消息总线的设计过程(上)

    道哥的第 021 篇原创 目录 一.前言 二.网关的作用 2.1 指令转发 2.2 外网通信 2.3 协议转换 2.4 设备管理 2.5 边沿计算(自动化控制) 三.网关内部进程之间的通信 3.1 网 ...

  10. PHP中间件

    定义 首先什么是php的中间件? 根据zend-framework中的定义: 所谓中间件是指提供在请求和响应之间的,能够截获请求,并在其基础上进行逻辑处理,与此同时能够完成请求的响应或传递到下一个中间 ...