有奖捉虫:云通信与企业服务文档专题,速来> HOT
当您有多个相关的场景需要在一个脚本中运行,可以通过配置 JMeter 多线程组实现,每个线程组中配置一个用户场景。
JMeter 支持线程组并行运行和串行运行两种模式。

JMeter线程组并行或串行

在测试计划中可以设置多线程组并行或串行执行。
线程组串行勾选 Run Thread Group consecutively (ie. one at a time)。线程组串行,指的是测试计划中存在多个线程组时,第一个线程组执行完成后再执行下一个线程组。
线程组并行 不勾选 Run Thread Group consecutively (ie. one at a time)。线程组并行,指的是测试计划中存在多个线程组时,多个线程组同时运行。



在 JMeter 中为线程设置循环次数

当线程组串行时,当前线程组执行完成,下一个线程组才能执行。因此我们需要为线程组设置循环次数,以便当前线程组能够正常退出,下一个线程组获取执行时间。
以下示例中:Thread Group 1 包含 2个线程,每个线程执行1000次循环。HTTP sample 1被执行2000次后(每个线程执行1000次),Thread Group 1 退出,Thread Group 2 开始执行。




使用 PTS 设置 JMeter 压力模型

PTS 支持 JMeter 线程组并行、线程组串行两种压力模式。
在 PTS 中配置的压力模型,会重写 JMX 文件中主线程组的配置,不会影响 setUp 和 tearDown 线程组。

PTS 配置线程组并行

压力模式勾选线程组并行,设置期望的最大并发数1000,递增步数3,压测时长10分钟。右侧会渲染出对应的压力模型。
选择线程组并行:会覆盖 JMeter Test Plan 中的 Run Thread Group consecutively (ie. one at a time)配置为不勾选,代表线程组并行。
最大并发数1000: 会在多个主线程组中按比例分配。假设用户JMX脚本中有两个线程组,A线程组设置线程数量为10,B线程组设置线程数量是20。那么压测时,A线程组分配的线程数为334, B线程组分配的线程数为667(小数向上取整)。
递增步数,递增时长,压测总时长会应用到每个主线程组。多个主线程组的压力模型合并,即等价于用户在PTS上配置的压力模型。




PTS 配置线程组串行

压力模式选择线程组串行,设置最大并发数1000,递增时长1min, 压测总时长10min, 循环次数1000次。
选择线程组串行:会覆盖JMeter Test Plan中的Run Thread Group consecutively (ie. one at a time)配置为勾选,代表线程组串行。一个线程组执行完成后,再执行下一个线程组。
并发配置会应用到每个主线程组上。在本案例中每个主线程组的最大并发数都是1000,递增时长1min, 压测总时长10min, 循环次数1000次。
循环次数作用于每个线程,代表每个线程执行循环的次数。循环次数和压测时长,有一个达到设置值,就会停止当前并发。
线程组串行模式下,必须设置循环次数,以便当前线程组达到循环次数后能够退出,下个线程组获得执行时间。
一个线程组所有并发退出后,当前线程组执行完成,开始执行下一个线程组。



注意:
线程组串行模式下,必须设置循环次数,以便当前线程组达到循环次数后能够退出,下个线程组获得执行时间。