jmeter 常量吞吐量计时器未正确从预处理器获取吞吐量值

lvmkulzt  于 2023-11-19  发布在  其他
关注(0)|答案(1)|浏览(118)

我有一个要求,一个日志与数百万的样本有不同的rps率。例如:1秒可能有1000个样本,下一秒的样本减少到400等
因此,我使用恒定吞吐量计时器从脚本中获取不同的rps值,并相应地进行操作。
在预处理器中实现如下:

props.put("throughput", num_of_reqs);

字符串
其中num_of_reqs即rps是从log中计算出来的。根据我的测试日志,rps值是[5,10,5,20]
定时器配置如下:
enter image description here
enter image description here
我预计每秒的交易量为5,10,5和20,但实际结果每次都低于5:
enter image description here
enter image description here

vyu0f0g1

vyu0f0g11#

首先,常量挂起计时器只能暂停JMeter线程,以限制JMeter的吞吐量到期望值。因此,您需要在Thread Group中提供足够数量的线程。
第二,它在“分钟”级别上足够精确。根据文档:
请注意,在测试过程中,吞吐量值不应更改得太频繁-新值需要一段时间才能生效。
尝试Throughput Shaping Timer,它在定义每秒请求数时为您提供了更大的灵活性:
x1c 0d1x的数据
如果您需要使用外部数据源“计算”负载配置文件,则可以使用tst-name.load_profile属性定义负载模式。

相关问题