【问题标题】:Throughput Shaping Timer for only one thread group仅用于一个线程组的吞吐量整形计时器
【发布时间】:2019-10-10 14:48:50
【问题描述】:

我有一个 JMeter 测试计划,其中包含具有不同工作负载和吞吐量的多个线程组。我想使用吞吐量整形计时器,但仅将整形应用于一个线程组。如果我在线程组中有计时器,它似乎仍然对整个测试计划起作用。

例如,如果我将其设置为每秒 6 个请求并运行测试十分钟,我会在视图结果树中获得 3,600 个条目(这是预期的)。不幸的是,这 3,600 个条目包括来自其他线程组的请求。我希望仅从这个线程组获得 3,600 个条目,然后从其他线程组获得 x,000 个。

吞吐量计时器可以这样使用吗?请注意,我在这里没有看到任何线程限制,请求的长度为毫秒,并且我有足够多的用户来覆盖我正在寻找的每秒 6 个请求。

【问题讨论】:

  • 编辑:有一件事可能是一个因素。虽然我有两个线程组,但只有一个线程组中有一个吞吐量整形计时器。另一个只是一个随机计时器。这会导致我看到的症状吗,我是否需要将两者都作为吞吐量调整计时器运行?

标签: timer jmeter


【解决方案1】:

JMeter 计时器服从JMeter Scoping Rules,因此如果您将Constant Throughput Timer 放在Thread Group 下 - 它将仅应用于此线程组

如果您无法达到目标吞吐量,原因可能在于:

  1. 线程组中没有足够的线程来执行所需的吞吐量。考虑使用Concurrency Thread Group 并通过Feedback function 将其连接到恒定吞吐量计时器
  2. 应用程序响应速度不够快。检查您的应用程序日志profiler tools output 并检查应用程序在 CPU、RAM 等方面是否有足够的空间来运行。
  3. JMeter 发送请求的速度不够快。考虑应用第 2 步中的建议并遵循JMeter Best Practices。如果单个 JMeter 实例无法创建必要的负载,则需要使用 distributed testing

【讨论】:

  • 不是我达不到目标,而是吞吐量计时器包含了来自其他线程组的请求。或者至少看起来是这样。线程组当前包含 40 个线程,旨在每秒完成 6 个请求,每个请求大约需要 7 毫秒才能完成。一旦我能理解我的工作量,我就会增加负载,但现在我让事情变得简单。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多