JMeter之事务控制器

Posted 七月的小尾巴

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JMeter之事务控制器相关的知识,希望对你有一定的参考价值。

什么是事务?

性能测试的结果统计时我们一定会关注 TPSTPS 代表每秒的事务数,每个事务对应的是我们的请求。虽然 Jmeter 能够帮我们把每个请求统计成一个事务,但有时候我们希望多个操作统计成一个事务,Jmeter 也考虑到了这种需求,我们可以通过逻辑控制器中的事务控制器来完成。

逻辑控制器

逻辑控制器,顾名思义就是控制程序的逻辑了,JMeter 逻辑控制器有很多种,比如循环控制器、随机控制器等。结合实例我们需要的是对事务的定义,所以选择事务控制器。

事务控制器

如下图所示,我们先添加一个事务控制器
在这里插入图片描述

事务控制器是位于逻辑控制器组件下面的一个元件,我们来看一下下方图中的参数说明:在这里插入图片描述

  • 名称:可以随意设置,最好有业务意义。
  • 注释:可以随意设置,可以为空。
  • Generate parent sample:如果是事务控制器下方有多个取样器(请求),勾选它,那么在“查看结果树”中我们不仅可以看到事务控制器,还可以看到每个取样器;并且事务控制器定义的事务是否成功是取决于子事务是否都成功,其中一个子事务失败,即代表整个事务都失败。

如下图,我们故意让 登录的 子事务失败(这里我故意输入错误的登录密码,然后断言响应状态码为200),我们可以看到整个事务都是失败的。

在这里插入图片描述

下图中,则表示整个事务都成功了。
在这里插入图片描述

JMeter 集合点

性能测试中需要模拟大量用户并发,集合点能够尽量让虚拟用户同一时刻发送请求,在 JMeter 中集合点是通过定时器来完成的。

定时器

JMeter 定时器用来控制取样器的执行时机,有固定定时器、随机定时器。回到实例,这里我们选择同步定时器来进行控制。

同步定时器

如下图所示,同步定时器是用来保证我们的取样器在同一时刻向服务器发起负载,考虑到线程运行时间的快慢与场景需要,也提供了同步线程数量的设置。
在这里插入图片描述

参数说明如下:

  • 名称:可以随意设置,最好有业务意义。
  • 注释:可以随意设置,可以为空。
  • 设置同步线程数量,我们在运行测试时,每一个线程的运行时间可能不一样,想要要所有都集合在一起可能会等待较长的时间,这种情况下我们可以先让一部分集合完毕的线程运行起来。另外有些场景不一样要等待所有的线程集合完毕,只需要部分线程保证同步就可以了,基于这些要求设置这个选项即可。

以上是关于JMeter之事务控制器的主要内容,如果未能解决你的问题,请参考以下文章

Jmeter(三十)Jmeter Question 之 循环+事务的妙用

Jmeter 之 Transaction Controller

JMeter组件之Test Fragment

JMeter笔记11 | JMeter事务

JMeter笔记11 | JMeter事务

JMeter笔记11 | JMeter事务