【JMeter】关于线程组 - 4.0 版本

版权声明:原创不易,未经作者允许请勿随意转载!因个人能力和精力有限,难免有疏漏和不足之处,欢迎指正,谢谢~ https://blog.csdn.net/lijing742180/article/details/85276460

本文内容基于 JMeter 4.0 版本,不同版本细节方面可能会不一致。

今天回顾了之前写的文章,排版真是不忍直视呀,我都看不下去了,内容上也有一些过时的地方,但是毕竟是我一个字一个字码出来的,删了还有点舍不得,所以再重新写一下吧 ~~

相关文章:
【JMeter】关于测试计划 - 4.0 版本

JMeter-详解jmeter线程组

1、线程组

线程组元件是任何一个测试计划的开始点。在一个测试计划中的所有元件都必须在某个线程下。所有的任务都是基于线程组。

在 Threads (Users)中包含三种不同的线程组,虽然名字不一样,但是创建之后,其界面是完全一样的。

2、setup thread group

  • 这是一种特殊类型的 ThreadGroup,用于在执行常规线程组之前执行一些必要的操作。

  • setup thread group 下提到的线程行为 与普通线程组完全相同。不同的是执行顺序–它会在普通线程组执行之前被触发。

  • 应用场景举例:

    • A、测试数据库操作功能时,用于执行打开数据库连接的操作。

    • B、测试用户购物功能时,用于执行用户的注册、登录等操作。

3、teardown thread group

  • 这也是一种特殊类型的 ThreadGroup,用于在执行常规线程组完成后执行一些必要的操作。

  • teardown thread group 下提到的线程行为 与普通线程组完全相同。不同的是执行顺序–它会在普通线程组执行之后被触发。

  • 应用场景举例:

    • A、测试数据库操作功能时,用于执行关闭数据库连接的操作。

    • B、测试用户购物功能时,用于执行用户的退出等操作。

tips:

默认情况下,如果测试按预期完成,则TearDown线程组将不会运行。

如果你想要运行它,则需要从Test Plan界面中选中复选框“Run tearDown Thread Groups after shutdown of main threads”。

4、thread group (线程组)

  • 这个就是我们通常使用的线程组。

  • 通俗的讲,一个线程组可以看做一个虚拟用户组,线程组中的每个线程都可以理解为一个虚拟用户。

  • 多个用户同时去执行相同的一批次任务。每个线程之间都是隔离的,互不影响的

  • 一个线程的执行过程中,操作的变量,不会影响其他线程的变量值

5、线程组基本设置

在线程组界面中可以设置以下数据,进行控制线程组:

在这里插入图片描述

5.1 取样器错误后要执行的动作

当遇到错误的时候测试的执行策略有如下几种:

  • 继续:忽略错误,继续执行 (默认选项,一般不用动)

  • Start Next Thread Loop: 忽略错误,线程当前循环终止,执行下一个循环。

  • 停止线程:当前线程停止执行,不影响其他线程正常执行。

  • 停止测试:整个测试会在所有当前正在执行的线程执行完毕后停止。

  • Stop test now:整个测试会立即停止执行,当前正在执行的取样器可能会被中断。

5.2 设置线程数

  • 线程数也就是并发数,每个线程将会完全独立的运行测试计划,互不干扰。

  • 使用多线程模仿对服务器的并发访问。

5.3 设置 Ramp-Up Period

  • 用于设置启动所有线程所需要的时间。

  • 如果选择了10个线程,并且 Ramp-Up Period 是100秒,那么 JMeter 将在 100 秒内平均启动 10 个线程,线程之间延迟 10(100/10)秒后启动。

  • 如果 Ramp-Up Period 设置为 0,则 JMeter 会立即启动所有线程。

  • 当这个值设置的很小或设为 0、线程数又设置的很大时,在刚开始执行时会对服务器产生较大的负荷。

5.4 设置循环次数

  • 设置每个线程循环的次数。

  • 一个线程组发送的总请求数 = 线程数 * 循环次数

  • 如果想要一直循环,勾选 Forever

5.5 Delay Thread creation until needed:

  • 默认情况下,测试开始的时候,所有线程就被创建完了。

  • 如果勾选了此选项,那么线程只会在合适的需要用到的时候创建。

  • 目前我还没找到这个选项具体有什么用,基本上可以忽略。

6、线程组调度器设置

调度器配置可以更精确的控制线程组执行的时间段。

  • 默认调度器配置是置灰的,需要勾选调度器启用。

  • 当测试开始时,如果设置了调度器,JMeter将等待直到到了开始时间。

  • 在每个周期结束,JMeter将会检查是否到达结束时间,如果达到,停止运行;否则测试继续运行直到达到了重复限制。

6.1 持续时间(秒)

控制测试执行的持续时间,以秒为单位,方便进行稳定性压测。

6.2 启动延迟(秒):

控制测试在多久后开始执行,以秒为单位。


以下 启动时间结束时间 在 4.0 版本之后已经去掉了。

6.3 启动时间

控制测试在某个时间点启动。但这个配置会被 启动延迟 配置覆盖。

6.4 结束时间

控制测试执行的结束时间。但这个配置会被 持续时间 配置覆盖。

猜你喜欢

转载自blog.csdn.net/lijing742180/article/details/85276460