当前位置:   article > 正文

jmeter定时器的使用_jmeter基础之定时器介绍及使用(下篇)

jmeter的固定定时器可以用于做并发吗

关于jmeter定时器我们之前已经了解了其中的几个,接下来我们继续熟悉一下的几个定时器的作用!

JSR223定时器

JSR223定时器实际可以通过java、JavaScript、beanshell等多种语言去实现我们的定时功能,类似于下面提到的beanshell定时器。

添加定时器-->JSR223定时器

d1b3e4acd7177018261054017b1cace0.png

8b75a08048c1e66132fa374ed5b87af4.png

接下来添加我们之前测试用的两个接口请求,然后编辑以下脚本:

051dfbf5f607fca0c6496949cc0751cd.png

Thread.sleep(5000);   意思是指等待5秒,然后我们运行看看结果:

4dc2b8dd5017f81c4ec982bcf0107140.png

可以看到两个接口之间的间隔时间大概在5秒左右!

同步定时器

这个定时器的作用就比较大了,主要是用来做并发测试时的重要工具,特别是某些限时抢杀活动时会用到,并发会更严格。

添加定时器-->同步定时器

ae65794377f8a6a69de67943fcc30c03.png

接下来看下定时器界面:

a9b32daa0a1bb749bf4041462d7195f4.png

模拟用户组数量:这个设置需等到满足这些数量的用户组时才会同时并发

超时时间:设置要求尽量贴近 线程数 / 线程加载时间的值

接下来我们添加两个请求接口,设置线程组数为10,用户组数量为10,超时时间为0,然后运行得到如下:

d48a73299b2a029dd7fe0ad1beee04b0.png

我们可以看到时间结果几乎一致!

泊松随机定时器

泊松随机定时器,这个定时器在每个线程请求之前按随机的时间停顿,总的延迟就是泊松分布值和偏移值之和。这个定时器在每个线程请求之前按随机的时间停顿,总的延迟就是泊松分布值和偏移值之和。

添加定时器-->泊松随机定时器

aeda4bc4c13f78a83490fa38434e7e3d.png

来看下定时器的界面配置:

48974a0d7201c254e4e7f3f3723d3d91.png

Lambda(in milliseconds):兰布达值;

Constant Delay Offset(in milliseconds):暂停的毫秒数减去随机延迟的毫秒数。

然后我们继续添加两个接口请求,以上数值体现的是两个接口请求的停顿时间在100-400毫秒之间,运行结果可得:

906870be329c89960e7871fc76d6362e.png

可以看到两个接口的时间差在100-400ms之间!

高斯随机定时器

这个定时器可以使每个线程的延迟时间是符合标准正态分布的随机时间停顿。

总延迟时间 = 高斯分布值(平均0.0和标准差1.0)* 指定的偏差值 + 固定延迟偏移

添加定时器-->高斯随机定时器

e0d0f2438b74bd9a3c99a9ca20987bfc.png

我们来看下定时器界面配置:

9c011b332c2fc07b001e00a1ff9eab35.png

设置随机定时为1s,固定偏差为3s,添加两个请求接口,运行得到如下:

1691975a2fb5968e5de424e32b199b69.png

可以看到两个接口之间偏移了3s时间!

BeanShell定时器(常用且重要)

根据被控制器触发执行次数,去依次执行控制器下的子节点。被触发执行可以由线程组的线程数、循环次数、逻辑控制器触发。

添加定时器-->BeanShell 定时器

a77ffe908bcf051c1b8895693d799e27.png

看下界面配置:

5218fa2b5bf342932d423f42346208dc.png

可以看下这个定时器与JSR223 定时器比较相似,都是通过编写语言实现,添加两个接口请求,编写如下时间,运行得到如下结果:

aae3de17d92526f05678408b89d1d463.png

可得到两个接口之间相差5秒!

-----------------------------------总结--------------------------------------

JMeter中的定时器一般被我们用来设置延迟与同步。定时器的执行优先级高于Sampler(取样器),在同一作用域(例如控制器下)下有多个定时器存在时,每一个定时器都会执行,如果想让某一定时器仅对某一Sampler有效,则可以把定时器加在此Sampler节点下。

关注本号,教你更多测试技能

3878b3397f6e0da47fce120fb36deb78.png

往期推荐

jmeter基础逻辑控制器之ForEach控制器

jmeter基础逻辑控制器之if控制器

jmeter插件之Dummy Sampler

jmeter基础之正则表达式如何提取多个参数值

jmeter基础之目录结构解析及配置文件修改

jmeter基础之json提取器如何提取多个参数值

jmeter基础之定时器介绍及使用(上篇)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/92290
推荐阅读
相关标签
  

闽ICP备14008679号