Jmeter的元件使用介绍:(五)定时器详解
定时器主要用于控制请求满足何种情况下就定时执行。此文主要介绍几种定时器:固定定时器、同步定时器、统一随机定时器、Beanshell定时器,此外还有偏难的定时器,如:高斯随机定时器、松泊随机定时器、吞吐量定时器,由于目前阶段我们不是助攻性能测试,这些定时器暂不做介绍。
前提须知:在使用定时器时,需要特别注意作用域问题,(1)如果放在测试计划下,那就会对整个测试计划生效(2)如果放在线程组下,那就对所放的线程组生效(3)如果放在取样器下,那就只对所放的取样器下生效
一:固定定时器
设置请求固定等待多久才开始执行。
二:统一随机定时器
设置请求随机等待多久后才开始执行
计算公式:等待时间=[Constant Delay,Constant Delay+Random Delay]
我上述例子的等待时间在:[3000,3000+4000]之间
三:同步定时器
用于设置达到所设定的用户量后在同一时刻发起请求,在进行压测时候所用的定时器多数就是这个定时器。
我上述例子模拟的是:达到100个用户后,再一起发起请求,如果等到了5000毫秒即5秒后,还没等到100个用户,最长时间等到了多少用户就用多少用户同时发起请求
四:Beanshell定时器
可以通过Beanshell脚本自定义定时器的样式,功能最强大,但是一般不用这个。
例子:
通过Thread.sleep(5000),可以自定义等待5秒后再发起请求
定时器使用的注意事项:
(1)如果在多个作用域下都有定时器,那么小作用域的定时器时间会累加。
测试计划、线程组、取样器下都有定时器,那么取样器在执行时,3个定时器的时间要累加