首页 > 解决方案 > 仅与“吞吐量整形计时器”的一个采样器相关的示例在 Jmeter 中并没有给出太多想法

问题描述

我想在 Jmeter 中为我的项目使用吞吐量整形计时器,将“每秒请求数”设置为我想要的任何级别。我读了下面的文章。

(RPS:每秒请求数)

https://www.blazemeter.com/blog/using-jmeters-throughput-shaping-timer-plugin

它在现实生活中很有用,但还不够。任何人都不会只发送一个采样器。在我的项目中,我发送了很多采样器(http 请求),我想为所有采样器设置 RPS。

例如,如果有 20 个采样器,我想将 RPS 设置为 100。jmeter 现在做什么?我应该将所有采样器放在吞吐量整形计时器下还是什么?
我尝试了这种方法,但即使我增加线程数,我也无法达到这些数字(这是在文章中执行的)。

标签: jmeter

解决方案


  1. JMeter Timers遵守JMeter 范围规则,因此添加一个 Timer 就足够了,它会将所需的吞吐量应用于其范围内的所有 Sampler。一个好的职位将是线程组的直接子级

  2. 吞吐量整形定时器本身只能暂停JMeter 线程以执行速率限制为每秒给定的请求数。如果您没有足够的线程来执行所需的负载 - 它将无能为力,因此要么选择并发线程组并通过反馈函数将其连接到吞吐量整形计时器,要么增加线程,因此足以传递负载。

    还要记住两个约束:

    • JMeter 本身应该能够足够快地发送请求,因此请确保您遵循JMeter 最佳实践,并且 JMeter 有足够的空间来操作 CPU、RAM 等。
    • 被测系统应该能够足够快地响应,因为 JMeter 将在发送下一个请求之前等待上一个响应,并且在响应时间增加的情况下,吞吐量将下降

推荐阅读