zoukankan      html  css  js  c++  java
  • jmeter 线程组

    1.1  线程组

    线程组是一系列线程的集合,每一个线程代表着一个正在使用应用程序的用户。在 jmeter 中,每个线程意味着模拟一个真实用户向服务器发起请求。

    在 jmeter 中,线程组组件运行用户设置线程数量、初始化方式等等配置。

    例如,如果你设置线程数为 100,那么 jmeter 将创建并模拟测试 100 个用户请求到服务器端。

    如下图所示:

     

    5.3.1 添加线程组

    添加线程组的步骤:

    测试计划->右键->添加->Threads(Users)->线程组,添加一个新的线程组。

     

    5.3.2 线程组界面属性介绍

    线程组】: 测试里每个任务都要线程去处理,所有任务必须在线程组下面创建。

    线程数】: 设置发送请求的用户数。

    【在采样器错误后要执行的动作】: 表示,当一个测试计划里有多个线程组或者一个线程组里有多个采样器,当一个采样器执行出错后,接下来的处理,如果不是有特别的场景要求,默认是继续就可以。

     

    Ramp-Up Period(in seconds)】: 创建完所有线程的时间,防止对服务器有太大的负载。

    如果选择了10个线程,并且ramp-up period是10秒,那么JMeter将使用10秒加载10个线程,也就是平均1秒加载一个虚拟用户。

    启动并运行。每个线程将在前一个线程启动后1秒后启动。如果将此设置为0,

    则表示10个用户同时并发,也就是所有线程在统一时间启动。Ramp-up需要足够长的时间来避免在开始测试时产生太大的负荷,并且有足够短的时间使最后一个线程在第一个线程结束之前运行。

    循环次数】: 线程组的每个线程数请求的重复次数。如果次数设置为1,那么JMeter只执行测试计划一次,如果设置成永远,线程组里的线程会一直在执行。

    调度器】: 调度器是用来执行一些特殊场景,勾选了调度器,就可以设置线程运行的【持续时间】和【启动延迟】项。

     

    持续时间】: 测试计划持续时间。

    【启动延迟】: 测试计划延迟启动时间。

    5.3.3线程组类别

    Jmeter有三个线程组分类:Thread Group、setUp Thread Group、tearDown Thread Group,如下图所示:

     

    (1)、Thread Group ( 线程组 )

      这个就是我们通常添加运行的线程。通俗的讲一个线程组,可以看做一个虚拟用户组,线程组中的每个线程都可以理解为一个虚拟用户。

    (2)、setUp Thread Group

      一种特殊类型的 ThreadGroup 的,可用于执行预测试操作。这些线程的行为完全像一个正常的线程组元件。不同的是,这些类型的线程执行测试前进行定期线程组的执行,类似LoadRunner 的 init,测试开始时进行初始化的工作。

    (3)、tearDown Thread Group

      一种特殊类型的 ThreadGroup 的,可用于执行测试后动作。这些线程的行为完全像一个正常的线程组元件。不同的是,这些类型的线程执行测试结束后执行定期的线程组,类似LoadRunnner 的 end ,测试结束时进行回收工作。

    5.3.4线程组执行顺序

    线程组执行顺序:

    ①   setUp Thread Group

    ②   线程组

    ③   TearDown Thread Group

    案例一:

    案例目的:验证 3 种线程组的执行顺序。

    案例步骤:

    1、在测试计划中添加一个“线程组”。

    2、给“线程组”添加一个“Debug Sampler”采样器,改名为t1。

    3、在测试计划中在添加一个tearDown Thread Group。

    4、给“tearDown Thread Group”添加一个“Debug Sampler”采样器,改名为t2。

    5、在测试计划中在添加一个 setUp Thread Group 。

    6、给“setUp Thread Group”添加一个“Debug Sampler”采样器,改名为t3。

    7、在测试计划中在添加一个监听器(察看结果树:用来查看运行结果)。

    8、如果运行的顺序为从上到下,那运行的结果应该为:t1->t2->t3,但是实际运行的结果为如下图所示:

     

    这个案例说明:3种类别的线程组在同一作用域名范围内执行顺序为:setUp Thread Group ->线程组-> tearDown Thread Group

    案例二:

    案例目的:验证 3 种线程组的执行顺序。

    案例步骤:

    1、在测试计划中添加一个“线程组”,设置线程组的线程数为 5,设置 5 个虚拟用户并发。

     

    2、给“线程组”添加一个“Debug Sampler”采样器,改名为t1。

    3、在测试计划中在添加一个tearDown Thread Group,线程数默认为 1,不改变。

    4、给“tearDown Thread Group”添加一个“Debug Sampler”采样器,改名为t2。

    5、在测试计划中在添加一个 setUp Thread Group,线程数默认为 1,不改变。

    6、给“setUp Thread Group”添加一个“Debug Sampler”采样器,改名为t3。

    7、在测试计划中在添加一个监听器(察看结果树:用来查看运行结果)。

    8、运行 jmeter 测试计划,结果如下图:

     

    这个案例说明:setUp Thread Group 是在一个 jmeter 计划开始的时候执行,tearDown Thread Group 是在一个 jmeter 计划结束的时候执行,不管中间有多少个线程组。

    案例三:

    案例目的:验证 3 种线程组的执行顺序。

    案例步骤:

    1、在测试计划中添加一个“线程组”,设置线程组的线程数为 5,设置 5 个虚拟用户并发。

     

    2、给“线程组”添加一个“Debug Sampler”采样器,改名为t1。

    3、在测试计划中在添加一个tearDown Thread Group,设置线程组的线程数为 5,设置 5 个虚拟用户并发。

     

    4、给“tearDown Thread Group”添加一个“Debug Sampler”采样器,改名为t2。

    5、在测试计划中在添加一个 setUp Thread Group,设置线程组的线程数为 5,设置 5 个虚拟用户并发。

     

    6、给“setUp Thread Group”添加一个“Debug Sampler”采样器,改名为t3。

    7、在测试计划中在添加一个监听器(察看结果树:用来查看运行结果)。

    8、运行 jmeter 测试计划,结果如下图:

     

    这个案例说明:线程组的执行次数跟线程数有关。

    --------------------------------------

    个人今日头条账号: 听海8   (上面上传了很多相关学习的视频以及我书里的文章,大家想看视频,可以关注我的今日头条)

     

     

     

  • 相关阅读:
    个人介绍
    C++ 之 第四课 C++中的运算符、表达式
    Delphi 之 第六课 过程与函数
    Delphi 之 第五课 流程语句
    VB 之 第三课 VB API 字体函数的应用
    C++ 之 第三课 C++数据类型
    Delphi 之 第四讲 自定义数据类型
    Delphi 之 第三课 详解数据类型
    C++ 之 第二课 C++类、函数的讲解
    VB API 第二课 之 字符串大小写转换
  • 原文地址:https://www.cnblogs.com/tinghai8/p/9681189.html
Copyright © 2011-2022 走看看