目录
前言
在使用jmeter进行性能测试时,往往需要用到部分定时器以辅助测试。jmeter中常用的定时器有:固定定时器、统一随机定时器、准确的吞吐量定时器、常数吞吐量定时器、同步定时器、泊松随机定时器、高斯随机定时器。
提示:案例仅供参考。
一、定时器分类
根据使用用途区分,常用定时器可分为以下三类:
1.时间类
- 固定定时器
- 统一随机定时器
- 泊松随机定时器
- 高斯随机定时器
2.吞吐量类
- 准确的吞吐量定时器
- 常数吞吐量定时器
3.虚拟用户类
- 同步定时器
二、时间类定时器使用
1.固定定时器
Thread Delay (in milliseconds) - 线程延迟(毫秒)
//请求会在等待固定的毫秒数后执行。
1)在线程组中使用时,线程组中的每个请求都将固定延迟n秒
延迟设置:固定延迟3秒;
运行结果:每个请求开始前等待3秒。
2)在某请求中使用时,则仅在该请求执行前固定延迟n秒
延迟设置:固定延迟3秒;
运行结果:仅设置定时器的请求开始前等待3秒。
2.统一随机定时器
Random Delay Maximum (in milliseconds) - 随机延迟毫秒数
Constant Delay Offset (in milliseconds) - 固定延迟毫秒数
//请求的延迟时间将在[固定延迟, 固定延迟+随机延迟]区间
延迟设置:2秒~5秒;
运行结果:请求延迟区间2秒~5秒。
3.泊松随机定时器
Lambda (in milliseconds) - 泊松分布值,大部分时间位于该区间
Constant Delay Offset (in milliseconds) - 固定延迟毫秒数
//请求的延迟时间将在[固定延迟, 固定延迟+泊松分布值]区间
延迟设置:4秒左右;
运行结果:迭代运行10次,大部分请求延迟4秒左右。
4.高斯随机定时器
Deviation (in milliseconds) - 偏差(毫秒)
Constant Delay Offset (in milliseconds) - 固定延迟毫秒数
//延迟时间围绕固定延迟具备高斯曲线分布特性
//总延迟 = 高斯分布值(平均0.0和标准偏差1.0)* 指定的偏差值 + 固定延迟偏移
//Math.abs() 取绝对值
//nextGaussian() 返回平均值为0.0,标准差为1.0的下一个伪随机高斯分布双精度数
Math.abs((this.random.nextGaussian() * 偏差值) + 固定延迟偏移)
延迟设置:偏差1秒,固定延迟3秒;
运行结果:迭代运行10次,请求延迟区间分布1~4秒。
总结
作用域:固定定时器对其所处范围中的所有请求有效。
作用:在请求前发生。