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

目录

  • 一、回顾

  • 二、事务控制器

  • 三、聚合报告/汇总报告

    • 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

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

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

97de46c617482a4574f61c56c7cc7d92.png
例1:事务控制器:已经勾选Generate parent sample
a6b65d4bd84a9d6977b0f522fb46bc47.png
运行结果
fee30d54d1741e21bd8453d166676685.png
例2:勾选了,就把前置处理器和后置处理器的时间都算到事务控制器里面去了,在聚合报告里面显示出来。

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

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

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

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

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

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

三、聚合报告/汇总报告

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

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

1、没有网络瓶颈

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

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

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

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

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

20Mb  100Mb

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

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

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

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

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

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

2、并发用户数不变

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

355939d95122afc3a277caae44404b00.png
线程组:10个线程,永久循环,持续时间60秒
c0c4860ebf1e211cf40018d72786e4b7.png
事务控制器
f5c2dd85df82aef7f3f887c3692d26db.png
运行结果:聚合报告
  • 每一行:都是一种事务。

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

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

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


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

欢迎关注 “清菡软件测试”,进群加v:qhtester,备注:学校(公司名)+姓名(昵称),否则不予通过,感谢点赞与分享!

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清菡软件测试

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值