首页 > 其他 > 详细

jmeter逻辑控制器详解(2)

时间:2019-08-08 14:13:50      阅读:141      评论:0      收藏:0      [点我收藏+]

逻辑控制器

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的线程同步锁作用得到验证。

 

jmeter逻辑控制器详解(2)

原文:https://www.cnblogs.com/mumulog/p/11320204.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!