全部产品
云市场

JMeter 多个线程组的使用说明

更新时间:2019-05-06 19:01:55

当 JMeter 测试计划中存在多个线程组,您需要了解如何结合 JMeter 和 PTS 配置参数,使多个线程组并行或串行压测。

前提条件

已掌握 JMeter 原生压测的基本操作。具体参见 JMeter 原生压测

背景信息

JMeter 线程组包括 setUp 线程组、tearDown 线程组和主线程组。在 PTS 中的施压配置不会影响 setUp 和 tearDown 线程组,只影响主线程组。

前置后置线程组

在 PTS 中配置的并发数、预热时间、循环次数会覆盖主线程组在 JMeter 脚本的配置。

jmeter施压配置截图

设置多线程组并行或串行

如果 JMeter 脚本中包含多个主线程组(Thread Group),您可以参照以下说明设置多线程组的并行和串行关系。

PTS 施压配置中的循环次数会覆盖所有的线程组,而压测时长一旦到达,整个压测都会停止。

多线程组并行

多个线程组并行时,在本地 JMeter 脚本中,请不要勾选测试计划(Test Plan)属性中的独立运行每个线程组(例如在一个组运行结束后启动下一个),即 Run Thread Groups consecutively(i.e one at a time)

线程并行

多个线程组并行时,执行的时间由循环次数和压测时长中先完成的决定。例如,压测时长设置为 10 分钟,而循环次数设置为 5 次,假设循环 5 次只需要 5 分钟,那么压测在 5 分钟时就停止了。

多线程组串行

串行的情况会稍微复杂一点,操作如下:

  1. 在本地调试 JMeter 脚本时,勾选测试计划(Test Plan)属性中的独立运行每个线程组(例如在一个组运行结束后启动下一个),即 Run Thread Groups consecutively(i.e one at a time)

    jmeter独立运行每个线程组

  2. 在 PTS 上设置循环次数。该循环次数会作用于每个线程组。

    例如,测试计划中有 A、B、C 三个线程组,在 PTS 施压配置中,设置循环次数为 5,那么执行顺序是先基于 A 的并发数循环 5 次,之后基于 B 的并发数循环 5 次,最后是 C 的并发数循环 5 次。

  3. 在 PTS 上设置的压测时长需要足够长,避免在压测中多线程串行的过程中被中断。

    预估的压测时长 = 业务请求的 RT * 总请求数。您可以在预估的压测时长基础上适当延长。

更多信息

JMeter 原生压测