【问题标题】:Jmeter 5 - loop controller concurrencyJmeter 5 - 循环控制器并发
【发布时间】:2019-06-24 17:59:31
【问题描述】:

我在 JMeter 中有如下负载测试计划:

Test Plan
|- Thread Group
   |- BeanShell Sampler (CSV Read)
   |- Loop Controller
      |- Counter
      |- HTTP Request${counter_value}
   |- View Results Tree

Http 请求取决于读取的 csv 行,这就是循环控制器的原因。当所有请求都发出并转到查看结果树信息时,我看到请求是按顺序发出的(首先是 HTTP 请求 1,然后是 HTTP 请求 2,依此类推)。 那么,有没有一种方法可以在不使用任何外部插件的情况下进行并发请求,或者我对使用循环控制器时如何完成并发性有误?

【问题讨论】:

    标签: jmeter


    【解决方案1】:

    Loop counter 不会创建并发请求。从您的问题来看,您似乎想要动态更改线程数。以下是可能会给您一些观点的相关问题:-

    1. Increase number of threads in JMeter during execution

    2. Change the thread count of test plan in JMeter, at run time

    【讨论】:

    • 感谢您的信息。您对循环计数器并发请求是正确的。关于不使用外部插件的线程组并发有什么建议吗?
    【解决方案2】:

    可以使用Synchronizing Timer实现并发。

    查看以下链接了解更多信息。

    如何在 JMeter 中使用并行控制器:- https://www.blazemeter.com/blog/how-to-use-the-parallel-controller-in-jmeter/

    如何使用 JMeter 加载支持 AJAX/XHR 的测试站点:-

    https://blazemeter.com/blog/how-load-test-ajaxxhr-enabled-sites-jmeter/

    希望这会有所帮助。

    【讨论】:

      【解决方案3】:

      你不能使用Loop Controller来实现并发,它只能用于重复它的孩子。

      实际并发可以通过在Thread Group级别上添加更多线程(虚拟用户)来实现

      鉴于上述设置,JMeter 将启动并发 10 个用户,这些用户将执行 60 秒的请求。

      我还建议重新考虑使用 Beanshell Sampler、since JMeter 3.1 it's recommended to switch to JSR223 Test ElementsGroovy language。此外,JMeter 提供了CSV Data Set Config 和/或CSVRead() function,可用于从外部 CSV 文件中读取数据。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-06-05
        • 1970-01-01
        • 1970-01-01
        • 2022-07-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多