【问题标题】:Jmeter 1 Thread Group and Multiple HttpRequestJmeter 1 线程组和多个 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,它们将是并行的

标签: java multithreading jmeter performance-testing load-testing


【解决方案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 线程将并行运行,您会看到请求的顺序是零星的
  • 你能看看这个stackoverflow.com/questions/58066367/…。这是上面的延续。
【解决方案2】:

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

更多详情请参考

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多