在执行期间增加 JMeter 中的线程数
Increase number of threads in JMeter during execution
我在 JMeter
中进行了性能测试,想用它测试最大系统 performance/throughput。因此,当错误率低于 2% 时,应该增加活动线程的数量。我找到 Constant Throughput Timer
,将其放入 Thread Group
,但它只会暂停或减慢线程。我试着用 属性: ${__P(throughput,)}
来定义它,但不确定这个 属性 的正确值应该是多少。我看不出 JMeter 如何衡量系统的最大性能。
从 JMeter 3.3 开始,没有开箱即用的解决方案,请参阅此增强请求:
从 JMeter 3.2 开始仍然可以动态添加线程(参见 https://bz.apache.org/bugzilla/show_bug.cgi?id=60530) in a JSR223 Test Element using JMeterContext:
ctx.getThreadGroup().addNewThread(delay, ctx.getEngine());
因此,基于此,您可以在 JSR223 测试元素(Pre/Post 处理器或采样器)中检查您选择的名为 :
的文件夹中是否存在文件
NUMBER_OF_THREAD_TO_ADD.txt
如果存在,使用其名称计算线程数并调用此方法。
"vanilla" JMeter 中没有这样的功能,但是可以使用插件,查看:
它们可以通过 feedback loop 连接在一起,因此如果需要并发线程组将添加更多线程以达到每秒所需的请求数。
您可以使用 JMeter Plugins Manager
安装这两个插件(并使它们保持最新状态)
我在 JMeter
中进行了性能测试,想用它测试最大系统 performance/throughput。因此,当错误率低于 2% 时,应该增加活动线程的数量。我找到 Constant Throughput Timer
,将其放入 Thread Group
,但它只会暂停或减慢线程。我试着用 属性: ${__P(throughput,)}
来定义它,但不确定这个 属性 的正确值应该是多少。我看不出 JMeter 如何衡量系统的最大性能。
从 JMeter 3.3 开始,没有开箱即用的解决方案,请参阅此增强请求:
从 JMeter 3.2 开始仍然可以动态添加线程(参见 https://bz.apache.org/bugzilla/show_bug.cgi?id=60530) in a JSR223 Test Element using JMeterContext:
ctx.getThreadGroup().addNewThread(delay, ctx.getEngine());
因此,基于此,您可以在 JSR223 测试元素(Pre/Post 处理器或采样器)中检查您选择的名为 :
的文件夹中是否存在文件NUMBER_OF_THREAD_TO_ADD.txt
如果存在,使用其名称计算线程数并调用此方法。
"vanilla" JMeter 中没有这样的功能,但是可以使用插件,查看:
它们可以通过 feedback loop 连接在一起,因此如果需要并发线程组将添加更多线程以达到每秒所需的请求数。
您可以使用 JMeter Plugins Manager
安装这两个插件(并使它们保持最新状态)