Jmeter 计时器:恒定、高斯随机、均匀 [示例]
什么是计时器?
默认情况下, JMeter 发送请求 不停歇 每次请求之间。在这种情况下, JMeter 可以 压倒 通过在短时间内发出过多请求来破坏您的测试服务器。
假设你发送 数千 几秒钟内向被测 Web 服务器发送请求。这就是发生的事情!
计时器允许 JMeter 至 延迟 线程发出的每个请求之间。计时器可以解决服务器 超载 问题。
也, 在现实生活中,访问者不会同时到达网站,而是以不同的时间间隔到达。因此,Timer 将有助于模拟实时行为。
以下是一些 常见 计时器的类型 JMeter
常数定时器
恒定计时器延迟每个用户请求 同 多少时间。
高斯随机定时器
高斯 随机定时器延迟每个用户请求 随机 多少时间。
参数
属性 | 描述 |
---|---|
姓名 | Descript树中显示的此计时器的名称 |
偏差(毫秒) | A 参数 高斯分布函数 |
恒定延迟偏移(毫秒) | 额外 以毫秒为单位的值 |
因此总延迟如下图所示:
均匀随机定时器
均匀随机计时器将每个用户请求延迟随机的时间。
参数
属性 | 描述 |
---|---|
姓名 | Descript树中显示的此计时器的名称 |
最大随机延迟 | 延迟的最大随机毫秒数。 |
恒定延迟偏移(毫秒) | 额外 以毫秒为单位的值 |
总延迟是随机值与偏移值的总和。
BeanShell 计时器
- 豆壳 计时器可用于 生成 每个用户请求之间的延迟时间。
BSF 定时器
BSF 定时器可用于在每个用户请求之间生成延迟,方法是使用 BSF 脚本语言。
JSR223 计时器
JSR223 计时器可用于在每个用户请求之间生成延迟,方法是使用 JSR223 脚本语言
如何使用常数定时器
在此示例中,您将使用 常数定时器 设置 固定延迟 在用户向 google.com 发出请求之间。
让我们从一个简单的测试脚本开始
- JMeter 创建 一种 用户请求 http://www.google.com 100 时
- 延迟 每个用户请求之间 5000 ms
这里是 路线图 对于这个实际的例子:
预处理
We 再利用 教程中的步骤 1 和步骤 2 JMeter 性能测试.
步骤1)添加线程组
上点右键 测试计划 并添加一个新的线程组: 添加-> 主题(用户) ->线程组
在线程组控制面板中,输入线程属性如下
此设置允许 JMeter 创建信息图 一种 用户请求 http://www.google.com in 100 时
步骤2)添加 JMeter 分子
- 添加 HTTP 请求默认值
- 添加 HTTP 请求
步骤 3)添加常量定时器
右键单击 线程组 -> 定时器 -> 常数定时器
配置线程延迟 5000 毫秒
步骤 4)在表中添加查看结果
以表格形式查看结果以表格形式显示测试结果。
右键点击 添加 -> 倾听者 ->在表格中查看结果
表格中显示查看结果如下图所示
步骤 5)运行测试
当您准备好运行测试时,单击 运行 菜单栏上的按钮,或快捷键 按Ctrl + R
这是这次测试的结果
例如,在上图中,让我们分析一下 示例2
- 开始时间 是 22:05:01.866
- 采样时间 样本 2 的时间为 172 毫秒
- 常数定时器:5000 毫秒(按配置)
- 结束时间 该样本的值为 = 22:05:01.866 + 172 + 5000 = 22:05:07.038
因此样本 3 的开始时间应为 22:05:07.039 (如上图)
- 延迟 每个样本 5000 ms
如果你改变常数定时器是 零,你会看到结果发生了变化
让我们分析一下 示例1
- 开始时间 是 22:17:39.141
- 采样时间 样本 2 的时间为 370 毫秒
- 常数定时器 :0 毫秒(按配置)
- 结束时间 该样本为 = 22:17:39.141+ 370 + 0 = 22:17:39.511
所以 示例2 应该开始的时间是 22:17:39.512 (如上图所示)
故障排除
如果您在运行上述场景时遇到问题……请执行以下操作
- 检查您是否通过代理连接到互联网。如果是,请删除代理。
- 打开一个新实例 JMeter
- 打开 计时器测试计划.jmx 在Jmeter中
- Double 点击线程组->在表格中查看结果
- 运行测试