Jmeter 1 线程组和多个 HttpRequest

Posted

技术标签:

【中文标题】Jmeter 1 线程组和多个 HttpRequest【英文标题】:Jmeter 1 Thread Group and Multiple HttpRequest 【发布时间】:2019-09-21 17:07:26 【问题描述】:

我有以下 Jmeter 配置

1 线程组,线程数为 1,在我定义的这 4 个 HttpRequest 下。循环计数为forever

我的问题是我的请求将如何被触发?由于我在我们的线程组中定义了1 as number of threads,它会顺序触发上述4个请求还是并行触发?

如果我在我们的线程组中定义了2 as number of threads,那么请求将如何被触发呢?

为简单起见,假设加速时间为 0。

【问题讨论】:

据我所知,线程数为 1,调用将是连续的,如果线程 t 为 4,它们将是并行的 【参考方案1】:

在同一个线程中,除非你使用Parallel Controller,否则请求是按顺序执行的

如果你有多个线程,它会根据ramp up period执行线程,如果设置为零,所有线程将同时启动,注意理论上它们可以顺序执行请求,但大多是零星的。

您可以使用Synchronizing Timer控制线程

SyncTimer 的目的是阻塞线程,直到 X 个线程被阻塞,然后它们都被立即释放

【讨论】:

当您说 they can execute requests sequentially, but mostly sporadically 时,您的意思是 - 并行但不同时?我无法理解sporadically @BreakingBenjamin 操作系统决定何时在线程之间切换,线程可以完成其操作然后切换到其他线程 我的循环计数器是无限的。因此,假设一个线程组中的所有 2 个线程同时启动(加速时间 0),那么它们会触发请求 - parallelsequentiallysequentially but not in order @BreakingBenjamin 线程将并行运行,您会看到请求的顺序是零星的 你能看看这个***.com/questions/58066367/…。这是上面的延续。【参考方案2】:

每个线程都将完整地执行测试计划,并且完全独立于其他测试线程。多个线程用于模拟与服务器应用程序的并发连接。

更多详情请参考

https://jmeter.apache.org/usermanual/test_plan.html

【讨论】:

以上是关于Jmeter 1 线程组和多个 HttpRequest的主要内容,如果未能解决你的问题,请参考以下文章

jmeter 正则获取多个返回token至本地文件,并跨线程组调用

Jmeter负载测试例子

jmeter如何并行执行多个线程组

Jmeter - 线程组详解

学习总结——JMeter做http接口功能测试

Jmeter(四十八)_动态线程分析HTML测试报告