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   (上面上传了很多相关学习的视频以及我书里的文章,大家想看视频,可以关注我的今日头条)

 

 

 

原文地址:https://www.cnblogs.com/tinghai8/p/9681189.html