jmeter逻辑控制器详解(2)

逻辑控制器

8、Runtime Controller

运行周期控制器,顾名思义,这是一种设置运行时间的控制器,它的效果就是使该控制器下的子项运行时间为【Runtime】中的数值(单位:s)。

Runtime Controller】的运行时间为【Runtime】的值乘以线程组循环次数。

这里循环次数设置为2,时间为2秒:

 

 

 

9、bzm - Weighted Switch Controller

权重开关控制器(直译),它能分配其子项目(Child Item)的权重,从而控制子项的执行概率。首先建立如下的脚本结构:

在bzm - Weighted Switch Controller下有两个HTTP请求,将它们的Weight设置为6和4,线程数设为2,线程组循环次数设为10,当脚本运行结束后,观察聚合报告

 

 

 

10、Random Order Controller

随机顺序控制器,与简单控制器类似,会执行它下面的每个子项,只不过执行顺序是随机的。

 

 

11、Random Controller

随机控制器,当该控制器下有多个子项时,每次循环会随机执行其中一个。建立下图的脚本结构
运行脚本,结果如下:

 

随机控制器有一个参数项:Ignore sub-controller block(忽略子控制器模块)。如果勾选了此项,随机控制器下的子控制器中的多个子项只会被执行一个,

勾选【Ignore sub-controller block】后再次运行脚本,结果变为:

 

12、Interleave Example

交替控制器,使得该控制器包含的取样器步骤在每次循环中交替执行。例如下面的脚本结构,将线程组循环次数设为6并运行。

结果如下:

 

勾选【Ignore sub-contorller blocks】后再次运行:

区别很明显,勾选了【Ignore sub-contorller blocks】后,交替控制器子控制器中的取样器一次运行只会被执行一个。

 

13、Module Controller

模块控制器,可以理解为对封装好的模块的调用。

 

14.Critical Section Controller

临界区控制器,这个名字听起来很难理解,其实这个控制器的作用是为它的子项加一个同步锁,使得在多线程场景下,同一时刻,只有一个线程能够调用其子项。

 

然后设置线程组线程数为1,循环次数为10,设置固定定时器线程延迟为1000ms

运行后,观察结果树和聚合报告,可以观察到,HTTP请求是1s中被执行一次,因此Critical Section Controller的线程同步锁作用得到验证。

 

转载于:https://www.cnblogs.com/mumulog/p/11320204.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值