什么是事务?
性能测试的结果统计时我们一定会关注 TPS
, TPS
代表每秒的事务数,每个事务对应的是我们的请求。虽然 Jmeter
能够帮我们把每个请求统计成一个事务,但有时候我们希望多个操作统计成一个事务,Jmeter
也考虑到了这种需求,我们可以通过逻辑控制器中的事务控制器来完成。
逻辑控制器
逻辑控制器,顾名思义就是控制程序的逻辑了,JMeter
逻辑控制器有很多种,比如循环控制器、随机控制器等。结合实例我们需要的是对事务的定义,所以选择事务控制器。
事务控制器
如下图所示,我们先添加一个事务控制器
事务控制器是位于逻辑控制器组件下面的一个元件,我们来看一下下方图中的参数说明:
- 名称:可以随意设置,最好有业务意义。
- 注释:可以随意设置,可以为空。
- Generate parent sample:如果是事务控制器下方有多个取样器(请求),勾选它,那么在“查看结果树”中我们不仅可以看到事务控制器,还可以看到每个取样器;并且事务控制器定义的事务是否成功是取决于子事务是否都成功,其中一个子事务失败,即代表整个事务都失败。
如下图,我们故意让 登录的 子事务失败(这里我故意输入错误的登录密码,然后断言响应状态码为200),我们可以看到整个事务都是失败的。
下图中,则表示整个事务都成功了。
JMeter 集合点
性能测试中需要模拟大量用户并发,集合点能够尽量让虚拟用户同一时刻发送请求,在 JMeter
中集合点是通过定时器来完成的。
定时器
JMeter
定时器用来控制取样器的执行时机,有固定定时器、随机定时器。回到实例,这里我们选择同步定时器来进行控制。
同步定时器
如下图所示,同步定时器是用来保证我们的取样器在同一时刻向服务器发起负载,考虑到线程运行时间的快慢与场景需要,也提供了同步线程数量的设置。
参数说明如下:
- 名称:可以随意设置,最好有业务意义。
- 注释:可以随意设置,可以为空。
- 设置同步线程数量,我们在运行测试时,每一个线程的运行时间可能不一样,想要要所有都集合在一起可能会等待较长的时间,这种情况下我们可以先让一部分集合完毕的线程运行起来。另外有些场景不一样要等待所有的线程集合完毕,只需要部分线程保证同步就可以了,基于这些要求设置这个选项即可。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/100675.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...