Jmeter 定时器
标签(空格分隔): Jmeter
固定定时器
线程中的每个请求等待固定的时间 每个请求发送等待固定的时间
##统一随机定时器 让线程中的每个请求等待一个随机时间,力求随机时间更均匀,每个时间间隔具有相同的发生概率
参数 | 描述 |
---|---|
Random Delay Maximum | 随机延迟最大的时间 单位毫秒 |
Constant Delay Offset | 固定延迟时间 单位毫秒 |
上图中 随机时间在2s-2.1s之间
##Gaussian Random Timer 高斯随机定时器 生成一个高斯分布的定时器
参数 | 描述 |
---|---|
Deviation | 偏差,设置偏差的值,是一个浮动范围,单位毫秒 |
Constant Delay Offset | 固定延迟时间 单位毫秒 |
Synchronizing Timer 同步计时器
用来模拟多用户并发的场景
参数 | 描述 |
---|---|
Number of Simultaneous Users to Group by | 并发用户数,一次性并发的线程数,如果设置为0,相当于并发全部线程组的线程数 |
Timeout in milliseconds | 超时时间,毫秒为单位,如果设置为0,将等待Number of Simultaneous Users to Group by 设置的线程数全部到达,才开始并发,如果大于0 ,超过设定的时间将不再等待没有到达的线程数 |
每次并发10个用户。
Constant Throughput Timer 固定吞吐量定时器
保证吞吐量(TPS,每秒请求数)固定到某个范围内,Jmeter 通过Constant Throughput Timer
来控制吞吐量,如果吞吐量大于设定值,则延长等待时间,如果小于的话减少等待时间线程数必须足够的情况,才可以满足吞吐量,该控件不会自己调整线程的数量
参数 | 描述 |
---|---|
Target Throughput | 需要保持的吞吐量,以分钟为单位。 |
Calculate Throughput based on | this thread only 仅针对当前线程,也就是说每个线程是互不干扰的,分开计算延迟的时间。all active threads in current thread group 针对当前线程组内的所有线程。all active threads 针对所有的线程。all active threads in current thread group (shared) 线程的延迟是是基于线程组内任意一个线程的上一次运行的时间来计算延迟时间。all active threads (shared) 基于上一次运行的任意个线程的运行时间来计算延迟时间 |
实例1,针对线程
- 线程设定 线程数20,启动时间1s,无线循环
- 吞吐量,600t/M,针对线程 结果如下图,延迟只针对线程有效,吞吐量到点了 200t/s。和设置差距巨大
实例2,针对线程组内的全部线程
- 线程设定 线程数20,启动时间1s,无线循环
- 吞吐量,600t/M,针对线程组内的全部线程
- 结果如下图,吞吐量 10t/s,和设置接近
实例3,针对全部线程
- 线程设定 线程数20,启动时间1s,无线循环
- 吞吐量,600t/M,针对线程组内的全部线程
-结果如下图,吞吐量和设置接近
实例4,针对全部线程 共享
- 线程设定 线程数20,启动时间1s,无线循环
- 吞吐量,600t/M,针对线程组内的全部线程 结果如下图,吞吐量和设置一致
实例4,针对线程组全部线程 共享
- 线程设定 线程数20,启动时间1s,无线循环
- 吞吐量,600t/M,针对线程组内的全部线程 -结果如下图,吞吐量和设置一致