JMeter聚合报告吞吐量误差分析

JMeter聚合报告吞吐量误差分析前言 最近公司有个项目要进行压测 压测完之后发现 tps 没有达到预期目标 最后自己手动计算了一遍 tps 偶然间发现一个问题 JMeter 报告中的吞吐量误差较大 下面这个聚合报告是我起的 demo 结果如下图 按照经典理论模型计算吞吐量 TPS 或者 QPS 应该是等于并发线程数除以平均响应时间 tps Thread AVG t 并发线程数除以平均响应时间 或者 tps COUNT request T 总的请求数除以总的请求时间 大家看上图汇总结果 平均响应时间 494ms 30 并发 计算得到

前言:最近公司有个项目要进行压测,压测完之后发现tps没有达到预期目标,最后自己手动计算了一遍tps,偶然间发现一个问题,JMeter报告中的吞吐量误差较大!

按照经典理论模型计算吞吐量TPS或者QPS应该是等于并发线程数除以平均响应时间:

tps =Thread / AVG(t)(并发线程数除以平均响应时间)

或者 tps = COUNT(request) / T(总的请求数除以总的请求时间)

大家看上图汇总结果:平均响应时间494ms,30并发,计算得到的吞吐量为:60.73/s,JMeter给出的吞吐量为50.04,误差相差10。

到底是什么原因导致误差这么大呢,经过我反复的压测实验,发现我的demo使用了较多的正则匹配来校验响应返回值,以及各种各样的断言,那么是不是JMeter在处理返回值消耗的时间较多导致了计算吞吐量误差的呢?

那么我们通过一个实验验证一下:首先写一个脚本,我用了单线程的脚本,请求10次看结果:

在这里插入图片描述
看结果,平均响应时间217ms,一个并发,计算得到的结果为4.61/s,JMeter给出的结果4.6/s,符合预期。

那么1.5/s的吞吐量是怎么来的呢?我们给219ms加上我们的等待500ms(这里是应该加上500 * 9 / 10),计算结果为1/(219+500 * 9 / 10)=1.49,跟JMeter给出的1.5符合,基本可以断定JMeter在计算吞吐量时候,把本机处理的过程给计算在内了。

如果JMeter在整个请求过程中平均响应时间是正常统计请求发出到接收到响应的时间,但是吞吐量却是用本机的整个线程一次循环的时间作为吞吐量计算的依据。

如果你在线程中做了别的事情,比如正则提取,参数校验,变量赋值等等都会导致吞吐量会变小。而一旦本机处理时间增加,那么压测过程中给服务端的实际压力也是比配置的要小,如果本机性能消耗过大或者某些地方发生等待,那么得到的吞吐量就可以当做一个假数据处理了。

如果发现误差较大,一定要进行结果修正,避免假数据。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/234020.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • html中ul和li的使用_ul列表的html结构

    html中ul和li的使用_ul列表的html结构html中偶尔会使用到列表,记录一下。1.序号可以是数字、字母、罗马数字等,可以通过list-style-type属性设置。2.序号也可以显示图片,可以通过list-style-image

    2022年8月1日
    7
  • Spring Boot教程(十三):Spring Boot文件上传「建议收藏」

    Spring Boot教程(十三):Spring Boot文件上传「建议收藏」一、创建一个简单的包含WEB依赖的SpringBoot项目pom.xml内容:<!–SpringBootweb启动器–><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-…

    2022年6月14日
    33
  • 用Pytest+Allure生成漂亮的HTML图形化测试报告[通俗易懂]

    用Pytest+Allure生成漂亮的HTML图形化测试报告[通俗易懂]对于软件测试来说,测试报告是非常重要的工作产出。一个漂亮、清晰、格式规范的测试报告,能够减少开发人员和测试人员的沟通成本。本篇文章将介绍如何使用开源的测试报告生成框架Allure生成规范、格式统一、美观的测试报告。通过这篇文章的介绍,你将能够:-将Allure与Pytest测试框架相结合;-执行测试之后,生成Allure格式的测试报告。1、Allure测…

    2022年7月26日
    21
  • 最新版黑苹果MacOS 10.14 Mojave安装教程

    最新版黑苹果MacOS 10.14 Mojave安装教程安装分为三部分:1.制作安装U盘2.安装MacOS系统3.安装clover(四叶草)用到的安装工具(按用到的先后顺序):1.Clover_v2.4k_r4679.pkg2.CloverConfigurator.zip3.一般台式机都能使用的通用EFI下载链接:https://pan.baidu.com/s/1sk6tYbCZ0riy0I6…

    2022年6月11日
    55
  • 情商的研究

    情商EQ认识与提高情商(情绪、意志、性格、行为习惯组成的商数)情商(EmotionalQuotient)通常是指情绪商数,简称EQ,主要是指人在情绪、意志、耐受挫折等方面的品质,其包括导商(LQ)等。总的来讲,人与人之间的情商并无明显的先天差别,更多与后天的培养息息相关。它是近年来心理学家们提出的与智商相对应的概念。从最简单的层次上下定义,提高情商是把不能控制情绪的部分变为可以…

    2022年4月9日
    30
  • 内连接,左右连接和全连接的区别是什么_sql左连接和右连接区别

    内连接,左右连接和全连接的区别是什么_sql左连接和右连接区别举例说明假设您有两个表,每个表只有一个列,表数据如下 AB–13243546 注意,(1,2)是A表唯一的,(3,4)是公共的,并且(5,6)是B表独有的 内连接 内连接是A表的所有行交上B表的所有行得出的结果集 select*fromaINNERJOINbona.a=b.b;se…

    2022年9月19日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号