JMeter定时器/计时器-Timer- 负载测试中模拟用户思考时间

在负载测试中需要考虑的的一个重要要素是思考时间(think time), 也就是在两次成功的访问请求之间的暂停时间。 有多种情形挥发导致延迟的发生: 用户需要时间阅读文字内容,或者填表,或者查找正确的链接等。未认真考虑思考时间经常会导致测试结果的失真。例如,估计数值不恰当,也就是被测系统可以支持的最多用户量(并发用户)看起来好像要少一些等。

Jmeter提供了一整套的计时器(timer)来模拟思考时间(think time)

Add-> Timer -> Poisson RandomTimer/Gaussian 

 

 

 

1. 高斯随机定时器
高斯随机定时器和固定定时器可以用来模拟思考时间。高斯随机定时器和固定定时器可以用来模拟思考时间。

偏差:设置的偏差值,是一个浮动范围(例如每个人的思考和打开页面的时间可能会不同)
固定延迟偏移:固定延迟时间

2.Synchronizing Timer
Synchronizing Timer 集合点可以模拟用户并发。

Number of Simulated Users to Group by:等待10个用户一起并发请求
Timeout in milliseconds:如果为0,表示一直等待,直至上述用户数都完成再请求;如果非0,例如30,表示只等待30ms,不管是否到上述用户数都进入下一步的并发。

3.Uniform Random Timer
该定时器可以在请求之间设置一个随机延时,每个随机延时有相同的发生概率。总延时=随机延时 + 固定延时。

 

1、定时器作用域
定时器是在每个sampler(采样器)之前执行的,而不是之后(不管定时器的位置在sampler之前还是下面);
当执行一个sampler之前时,所有当前作用域内的定时器都会被执行;
如果希望定时器仅应用于其中一个sampler,就把定时器作为子节点加入;
如果希望sampler执行完之后再等待,则可以使用Test Action;


(1)固定定时器 
 
每个请求发送之前需要等待多少毫秒,这里我们选择等待3000ms就是3秒钟。

è¿éåå¾çæè¿°

(2)同步定时器(Synchronizing Timer) 

这个定时器和loadrunner当中的集合点(rendezvous point)作用相似,其作用是:阻塞线程,直到指定的线程数量到达后,再一起释放,可以瞬间产生很大的压力。

Number of Simulated Users to Group by:模拟用户的数量,即指定同时释放的线程数数量
Timeout in milliseconds:超时时间,即超时多少毫秒后(不管线程够不够)同时释放当前的线程
 

例如:当放置Constant Timer于两个http请求之间,那么它代表的含义是:在上一个请求发出至完成后,

开始Contant Timer指定的时间,最后再发出第二个请求.它并不是代表两个请求之间的发送间隔时间

图中的19.701第一个请求发出,经过1.36s时间完成接收,再等待Constant Timer的1s,再开始第二个请求

 

5.Constant Throughput Timer(常数吞吐量定时器)
通过控制每分钟请求数(即控制吞吐的方式)来控制是否进行延时暂停。 例如,当我们需要使服务端长期处于一定的压力下时,可以通过该定时器来控制吞吐量。

Constant Throughput Timer:按指定数字的吞吐量执行(每分钟)。计算吞吐量依据是最后一次线程的执行时延。可以选择作用的线程:当前线程、当前线程组、所有线程组。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章