【问题标题】:How can I decrease the threads while running jMeter?运行jMeter时如何减少线程?
【发布时间】:2017-04-27 10:31:51
【问题描述】:

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

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

有人建议我使用 Ultimate Thread Group,但我认为它无济于事。

对这个问题有什么想法吗?

【问题讨论】:

    标签: testing jmeter jmeter-plugins


    【解决方案1】:

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

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

      ${__threadNum} % 2 == 0
      
    3. Test Action采样器添加为If Controller的子级,配置如下:

      • 目标:Current Thread
      • 操作:Stop

    解释:

    • __threadNum() function 返回当前线程号
    • 如果当前线程数是偶数(2、4、6、8 等),则此线程将进入测试操作采样器,因此将被关闭
    • 所以第一个采样器将由 100 个线程执行,第二个(以及后续采样器)将由 50 个线程执行,因为只剩下 50 个
    • Test Action sampler doesn't generate any results 所以可以使用它,它不会出现在测试指标中

    Test Plan 结构示例:

    【讨论】:

    • 感谢您的回复,我理解您的想法,但如果我只想继续 30% 并放弃 70% 怎么办
    【解决方案2】:

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

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

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

    查看 Jmeter 用户手册中的 Throughput Controller 了解更多信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-25
      • 2015-06-02
      • 1970-01-01
      • 2020-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多