Jmeter 5-循环控制器并发

时间:2019-06-21 04:34:59

标签: jmeter

我在JMeter中有一个负载测试计划,如下所示:

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

根据读取的csv行发出Http请求,这就是循环控制器的原因。当所有请求都发出并转到“查看结果树”信息时,我看到请求是按顺序发出的(首先是HTTP Request1,然后是HTTP Request2,依此类推)。 因此,有没有一种方法可以在不使用任何外部插件的情况下进行并发请求,或者在使用循环控制器时如何并发实现我错了吗?

3 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

您可以使用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/

希望这会有所帮助。

答案 2 :(得分:0)

使用Loop Controller无法实现并发,只能用于重复其子级。

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

enter image description here

鉴于上述设置,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文件读取数据。