如何用1个线程实现每小时10个采样器的吞吐量?
JMeter实现每小时10次采样的配置方案
问题根源
你遇到的问题是Constant Throughput Timer对极小浮点数值(如0.16)的精度处理存在局限,导致定时器未生效,线程仅执行一次就停止。
正确配置方案
方案一:调整Constant Throughput Timer配置
- 线程组基础设置:
- 线程数:
1 - 循环次数:勾选永远
- 持续时间:
3600秒
- 线程数:
- 吞吐量定时器调整:
- 不要设置0.16这类小数,直接将
Target Throughput设为10 - 在
Calculate Throughput based on下拉框中选择This thread only,让JMeter基于当前线程单独计算吞吐量,自动转换为合理的执行间隔,规避精度问题 - 将定时器直接放在线程组下(与HTTP请求同级),不要嵌套在Flow Controller中,确保作用范围覆盖目标请求
- 不要设置0.16这类小数,直接将
方案二:使用固定定时器(更适配极低频率场景)
如果吞吐量定时器仍有异常,直接用Constant Timer控制请求间隔:
- 计算间隔:3600秒 ÷ 10次 = 360秒,即
360000毫秒 - 在HTTP请求下添加Constant Timer,设置
Thread Delay (in milliseconds)为360000 - 线程组保持循环次数“永远”、持续时间3600秒的配置,线程会每隔6分钟执行一次请求,1小时刚好完成10次采样
验证方式
启动测试后,查看结果树,确认请求执行间隔稳定在360秒左右,测试运行满1小时后,总采样数应为10次。
内容的提问来源于stack exchange,提问作者Dileep17
相关产品推荐
相关产品推荐

