如何在运行jMeter时减少线程?

时间:2017-04-27 10:31:51

标签: testing jmeter jmeter-plugins

我在使用jMeter时创建了一个测试计划,我想创建一个包含100个并发用户的测试计划。

在第一页(主页)之后我希望减少50个用户(下载并且不访问下一页),而另外50个用户继续访问另一个页面。

有人建议我使用Ultimate Thread Group,但我认为它无能为力。

对这个问题有任何想法吗?

2 个答案:

答案 0 :(得分:3)

如果你需要在第一次请求后关闭一半的线程,你可以按如下方式执行:

  1. 在第一次请求后添加If Controller
  2. 将以下表达式放在“条件”区域中:

    ${__threadNum} % 2 == 0
    
  3. Test Action采样器添加为If控制器的子级,并按如下方式对其进行配置:

    • 目标:Current Thread
    • 行动:Stop
  4. 说明:

    • __threadNum() function返回当前主题号
    • 如果当前线程编号甚至(2,4,6,8等),此线程将转到测试操作采样器,因此正在关闭
    • 因此第一个采样器将由100个线程执行,第二个采样器(以及采样器)将由50个线程执行,因为只剩下50个线程
    • 测试操作采样器doesn't generate any results因此可以使用它,它不会出现在测试指标中

    示例Test Plan结构:

    JMeter shut down half of threads

答案 1 :(得分:0)

您可以在主页后添加吞吐量控制器,并将只有50个用户要执行的所有请求添加到吞吐量控制器中。你有两个选择:

  • 执行百分比:0-100之间的数字,表示控制器执行的次数百分比。 " 50"表示控制器将在测试计划的一半迭代期间执行。

  • 总执行次数:对于总执行模式,该数字表示控制器执行的总次数。

从Jmeter用户手册中查看Throughput Controller以获取更多信息。