前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >高级性能测试系列《20. 事务控制器、在性能测试中,看聚合报告的前提条件是?》

高级性能测试系列《20. 事务控制器、在性能测试中,看聚合报告的前提条件是?》

作者头像
清菡
发布2022-12-02 21:48:18
7240
发布2022-12-02 21:48:18
举报
文章被收录于专栏:清菡软件测试清菡软件测试

目录

  • 一、回顾
  • 二、事务控制器
  • 三、聚合报告/汇总报告
    • 1.没有网络瓶颈。
    • 2.并发用户数不变。

一、回顾

jmeter脚本性能转换:逻辑控制器。

用jmeter写脚本,可以去做接口测试、自动化测试、性能测试。

性能测试脚本,可以直接用于接口测试、自动化测试。

但是,接口测试、自动化测试脚本,不能直接用于性能测试,需要进行性能转换,才能用于性能测试。

性能测试,要尽可能得降低jmeter工具自身对资源的消耗。

接口测试、自动化测试脚本,一定会添加断言,断言的目的是判断是否有bug。

断言,这个元件在执行时,消耗来自jmeter工具启动后所分配的资源(自己电脑的cpu+内存相关的一些资源)。

这个是本机消耗的时间和资源,不是服务器消耗的时间和资源。

断言所消耗的时间和资源被算到服务器消耗的时间和资源里面去了。所以,性能测试,不要加断言。

接口测试、自动化测试:用Beanshell元件,写脚本时,只考虑功能能实现即可,不会过多去考虑元件使用的时间、资源消耗。

性能测试:Beanshell所有元件,能不用则不用。

如果,一定要写java代码来处理的,可以采用JSR223、{__jexl3(,)}函数、{__groovy(,)}函数替换掉Beanshell所有元件。

  • 元件的选择:
    • DDT
    • JSR223

运行模式:GUI 图形界面模式,这个模式只用于编辑调试脚本。

真正的性能测试用CLI模式(无图形界面模式),为了减少资源的消耗,从而向服务器发起更多的请求。

  • if条件控制器:
    • 默认勾选:Interpret condition as variable
    • 勾选了,要使用jexl3groovy函数,得出结果truefalse
    • 不勾选:Interpret condition as variable
    • 不勾选,条件框中运算过程(表达式)的结果为truefalse

二、事务控制器

在jmeter中,默认一个取样器执行一次请求,就是一个事务。

事务控制器:控制其子集的取样器(n个),合并为一个事务。

TPS:是服务器每秒处理的事务数。

在事务控制器下,挂载多个取样器,想要把多个取样器合并为1个事务,必须勾选Generate parent sample

1.性能测试中,是否要勾选Generate parent sample

性能测试,要先做单接口的性能测试,然后再做多接口的性能测试。

在做多接口合并的时候,需要勾选。

例1:事务控制器:已经勾选Generate parent sample

运行结果

例2:勾选了,就把前置处理器和后置处理器的时间都算到事务控制器里面去了,在聚合报告里面显示出来。

在性能测试中,需要先用单个取样器,做出某个接口的性能测试指标。

然后再出多个接口的性能指标,再使用事务控制器,勾选Generate parent sample,做出业务的性能指标。

把所有的业务都做出来,再合并,做出整个系统的性能指标。

2.如果领导要你得到某个业务的性能指标:

需要先梳理出这个业务所有的接口,然后对这个业务所有的接口进行性能测试,得到性能指标。

然后,再使用事务控制器,合并取样器,最终才得到业务的性能指标。

三、聚合报告/汇总报告

真正做性能测试时,所有的监听器,都要禁用。(监听器拿到数据展示出来是需要时间的)

在性能测试中,看聚合报告,有前提条件:

1、没有网络瓶颈。

因为,在很多时候,我们在看聚合报告时,会把吞吐量的值等价为TPS的值(没有网络瓶颈的时候才可以这样理解)。

怎么判断有没有网络瓶颈?

聚合报告最后两列:是吞吐率。

吞吐率与我们的带宽是有关系。

通过吞吐率,是可以看出是否存在网络带宽问题。

20Mb 100Mb

1Mb = 1 x 1024kb = 1024kb/8 = 128KB/s

吞吐率的值越接近128,可能就有网络瓶颈了。

企业的带宽和民用的带宽是不一样的。

民用的带宽:上行(入门理解为发送)比较窄,下行(入门理解为接收)比较宽。

企业级的带宽:上行(入门理解为发送)比较宽,下行(入门理解为接收)比较窄。

企业服务器,一般电商类的产品,也就几m带宽。

2、并发用户数不变。

负载测试时,并发用户数会随着时间变化而变化(每秒钟发20个人,30个人。1秒钟发的请求量都不一样),就不能看聚合报告。

线程组:10个线程,永久循环,持续时间60秒

事务控制器

运行结果:聚合报告

  • 每一行:都是一种事务。
每一列:
  • 样本:在刚才的过程中,所有的并发用户数,在一段时间中的总请求量。

单独看样本,是无法知道并发用户数、执行时长。

10r x 60s x pl(频率)= 351

pl(频率)=0.585

每一个人的吞吐量是0.585。因为没有网络瓶颈,tps值就是0.585。

  • 平均值...........最大值:这些都是响应时间。单位是毫秒ms。
  • 90%:所有的样本中,有90%的样本时间是小于等于这个时间的。

脚本链接

链接:https://pan.baidu.com/s/10rIeYWWfcdPmyNPqJG3-pw?pwd=1234 提取码:1234


文章中除标明“图片来自网络”的图片,皆为小编本人所画所截图,计算机知识都一样,如有雷同,纯属巧合。文章为清菡所编写,如有转载,请标明出处!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-06-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 清菡软件测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 目录
  • 一、回顾
  • 二、事务控制器
    • 1.性能测试中,是否要勾选Generate parent sample?
      • 2.如果领导要你得到某个业务的性能指标:
      • 三、聚合报告/汇总报告
        • 在性能测试中,看聚合报告,有前提条件:
          • 1、没有网络瓶颈。
          • 2、并发用户数不变。
          • 每一列:
        • 脚本链接
        相关产品与服务
        云服务器
        云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档