51Testing软件测试论坛

标题: Jmeter性能之计时器理论 [打印本页]

作者: 璐璐    时间: 2019-10-11 16:00
标题: Jmeter性能之计时器理论
计时器理论:
1. 计时器是在每个sampler(采样器)之前执行的,而不是之后(不管计时器的位置在sampler之前还是下面);
2. 当执行一个sampler之前时,所有当前作用域内的计时器都会被执行;
3. 如果希望计时器仅应用于其中一个sampler,就把计时器作为子节点加入;
4. 如果希望sampler执行完之后再等待,则可以使用Test Action;
增加计时器:
[attach]126794[/attach]
实验
计时器一般被我们用来设置延迟与同步,定时器的优先级高于Sampler,在同一作用域下有多个计时器存在时,它们都会执行;如果想让某一计时器只针对某一个Sampler有效,则要把计时器加到该Sampler下面。
[attach]126795[/attach]
我们在请求1后面(但是同级)加了一个特定时间计时器,设定时间是3秒,然后再请求2下面(注意下面,不是后面)加了一个特定计时器,设定时间3秒,点击启动,然后观察“查看结果树”,同时看右上角时间,大约3秒后,出现第一个请求,说明即便是计时器在请求1的后面,对其也是有效果的,然后大约再过6秒后(两个计时器同时生效),才出现请求2,然后再过3秒
因为请求1中的计时器这里也起效果了!!!
出现请求3
定时器分类使用:1.固定定时器
[attach]126796[/attach]
2.同步计时器:
[attach]126797[/attach]
这个定时器和loadrunner当中的集合点(rendezvous point)作用相似,其作用是:阻塞线程,直到指定的线程数量到达后,再一起释放,可以瞬间产生很大的压力。
Number of Simulated Users to Group by:模拟用户的数量,即指定同时释放的线程数数量
Timeout in milliseconds:超时时间,即超时多少毫秒后(不管线程够不够)同时释放当前的线程
注意 固定计时器 和同步计时器的区别
1. 固定定时器,线程1,执行完请求a后,隔固定时间执行请求b;至于线程2有没有执行完请求a,不用管;
2. 同步定时器,在开始执行请求a之前,线程1、2、3要相互等待,大家都准备好了,然后一起发送;因为线程1、2、3执行请求a的时间不同,所以线程1、2、3需要等待他人执行完请求a后,才能一起执行请求b所以你盯着查看结果树看的时候,会发现,3个线程,会一次出来3个请求(每人一个)
3.
Gaussian Random Timer ---高斯随机定时器
在高斯随机定时器中,常量偏移量的变化有高斯曲线分布。
这个计时器暂停每个线程请求的时间,大部分时间间隔发生在一个特定值附近
总延迟是高斯分布值(均值为0.0,标准差为1.0)的总和,乘以你指定的偏差值和偏移值
[attach]126798[/attach]
Deviation in milliseconds:偏差,以毫秒为单位
Constant Delay Offset:除了随机延迟之外,暂停的毫秒数。
上图中的设置就是说每个线程请求,暂停的时间是300ms+0~100ms的随机数,这个随机数符合高斯分布
4均匀随机计时器Uniform Random Timer
(1) Constant Delay Offset:固定等待时间
Random Delay Maximum:小于等于设定值的随机延迟时间
(2) 如上图的计时器,每个请求发送前等待的时间应该是2秒到2+3=5秒之间







欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2