我们可以在负载测试期间增加JMeter中的线程数吗?没有预定增量..!

时间:2017-08-10 18:19:25

标签: jmeter performance-testing

我们可以在负载测试期间增加JMeter中的线程数吗? 我正在使用Jmeter3.2版本,如何在负载测试期间配置或增加线程数

4 个答案:

答案 0 :(得分:2)

你不能增加线程数(如Vins所说),但你可以启动你需要的最大线程,并让大多数线程处于空闲状态,直到测试告诉他们做某事。

例如:假设您要从5个主题开始,并在myVar变为true时将其增加到10:

Thread Group 
 Number of threads: 10

    While Controller 
     Condition: ${__javaScript(${__threadNum} > 5 && '${myVar}' != 'true')}

       Constant Timer <-- thread will idle here for a bit and check condition again

    Samplers <-- when not idling, script starts here

因此,5以下的线程将在While Controller下空闲,定期检查条件(周期由Constant Timer决定)。当条件不再满足时,它们将退出而继续执行脚本。

当然这只是一个方法,您可以根据需要定制它(例如,条件可以是简单的或复杂的,您可以通过多次修改变量来动态启用和禁用线程,等等。)

答案 1 :(得分:1)

您可以使用变量/属性参数化线程数。但是,一旦测试开始,比如使用5个线程,则在测试运行时无法将其更改为10个线程。

答案 2 :(得分:0)

您可以使用插件Ultimate thread group。在运行测试之前,您必须进行设置。不幸的是,您将无法在测试期间手动添加线程。

答案 3 :(得分:0)

您无法操纵线程数(虚拟用户),但您可以实时控制每分钟请求数(即吞吐量),这应该是一个可行的替代方案。

  1. Constant Throughput Timer添加到您的主题组
  2. 使用${__P(throughput,)}之类的__P() function将所需的初始吞吐量定义为JMeter属性:

    JMeter Constant Throughput Timer

  3. 就是这样,现在您可以通过修改throughput属性来控制请求的执行频率,例如使用__setProperty() function。此外,您甚至可以通过例如Beanshell Server
  4. 在JMeter外部执行此操作