【问题标题】:Increase number of threads in JMeter during execution在执行期间增加 JMeter 中的线程数
【发布时间】:2018-05-08 09:18:54
【问题描述】:

我在JMeter 进行了性能测试,并想用它测试最大的系统性能/吞吐量。因此,例如,当错误率低于 2% 时,应增加活动线程的数量。我找到了Constant Throughput Timer,将其放入Thread Group,但它只会暂停或减慢线程。我尝试使用属性将其定义如下:${__P(throughput,)},但不确定该属性的正确值应该是什么。我看不出 JMeter 如何测量系统的最大性能。

【问题讨论】:

标签: jmeter performance-testing


【解决方案1】:

从 JMeter 3.3 开始没有开箱即用的解决方案,请参阅此增强请求:

仍然可以使用JMeterContext 在 JSR223 测试元素中动态添加自 JMeter 3.2(参见 https://bz.apache.org/bugzilla/show_bug.cgi?id=60530)以来的线程:

ctx.getThreadGroup().addNewThread(delay, ctx.getEngine());

因此,基于此,您可以在 JSR223 测试元素(前/后处理器或采样器)中检查您选择的文件夹中是否存在文件:

NUMBER_OF_THREAD_TO_ADD.txt

如果存在,使用其名称计算线程数并调用此方法。

【讨论】:

  • 请问我应该在哪里看到这个文件夹?
  • 我更新了我的答案。您可以选择所需的任何文件夹,因为它将是您的代码将使用此文件夹
【解决方案2】:

“vanilla”JMeter 中没有这样的功能,但可以通过插件实现,请查看:

它们可以通过feedback loop 连接在一起,因此如果需要,并发线程组将添加更多线程以达到所需的每秒请求数。

您可以使用JMeter Plugins Manager 安装这两个插件(并使其保持最新状态)

【讨论】:

  • 谢谢!如何将这些与错误率联系起来?那么由于错误率低于预定义值,我该如何增加线程数呢?
  • 不确定是否停止增加负载,但是如果错误率超过某个阈值,您可以通过AutoStop Listener停止整个测试
猜你喜欢
  • 1970-01-01
  • 2020-03-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-28
  • 2018-02-08
  • 1970-01-01
  • 2021-03-14
相关资源
最近更新 更多