Jmeter多种定时器实现方法解析
作者:多测师_郑sir
这篇文章主要介绍了Jmeter多种定时器实现方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
1、固定定时器(Constant Timer)
用法(场景):更真实的模拟用户场景,需要设置等待时间,或是等待上一个请求的时间才执行,给 sampler 之间的思考时间
备注:如果需要每个步骤均延迟,则将定时器放在与请求持平的位置,若只针对一个请求延迟,则将定时器放在该请求子节点中。
(1)每个sampler均延迟启动,(包含第一个 sampler)示例如下
(2)只针对某一个 sampler 请求延迟启动,示例如下
2、高斯随机定时器(Gaussian Random Timer)
下图中固定延迟2000ms,偏差1000ms,意思是时间延迟2000-3000ms之间
备注:如果需要每个步骤均延迟,则将定时器放在与请求持平的位置,若只针对一个请求延迟,则将定时器放在该请求子节点中。
3、均匀随机定时器(Uniform Random Timer)
和高斯随机定时器的作用差异不大,区别在于延时时间在指定范围内且每个时间的取值概率相同,每个时间间隔都有相同的概率发生,总的延迟时间就是随机值和偏移值之和。
Random Delay Maximum(in milliseconds) 随机延迟时间的最大毫秒数
Constant Delay Offset(in milliseconds) 暂停的毫秒数减去随机延迟的毫秒数
4、同步定时器(Synchronizing Timer)
- 这个定时器和loadrunner当中的集合点(rendezvous point)作用相似,其作用是:阻塞线程,直到指定的线程数量到达后,再一起释放,可以瞬间产生很大的压力。
- Number of Simulated Users to Group by:集合多少人后再执行请求(也就是执行的线程数)
- 注意:等同于设置为线程租中的线程数,一定要确保设置的值不大于它所在线程组包含的用户数。
- Timeout in milliseconds:指定人数多少秒没集合到算超时(设置延迟时间以毫秒为单位)
- 注意:如果设置 Timeout in milliseconds 为0,表示无超时时间,会一直等下去。
- 线程数量无法达到 "Number of Simultaneous Users to Group by" 中设置的值,那么 Test 将无限等待,除非手动终止
- Timeout in milliseconds 超时时间 > 线程组中(用户启动时间)
4、泊松随机定时器(Poisson Random Timer)
- 这个定时器在每个线程请求之前按随机的时间停顿,大部分的时间间隔出现在一个特定的值,总的延迟就是泊松分布值和偏移值之和。
- 下图表示暂停时间会分布在100到400毫秒之间:
- Lambda(in milliseconds) 兰布达值
- Constant Delay Offset(in milliseconds) 暂停的毫秒数减去随机延迟的毫秒数
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。