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