jmeter性能测试(四-2):线程组

本文详细介绍了JMeter中的线程组,包括setUp Thread Group、tearDown Thread Group和常规线程组。setUp和tearDown线程组分别用于在执行常规线程组前后的必要操作,如数据库连接的打开和关闭。线程组则代表虚拟用户,可设置并发数、启动延时、循环次数等参数,控制测试执行策略和负载压力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

threads(Users)线程组

三个线程组只是名称不同,创建界面相同

 

1、setUp Threas Group

一种特殊类型的ThreadGroup,用于在执行常规线程组之前执行一些必要的操作。在“setup thread group ”下提到的线程行为与普通线程组完全相同。不同的是执行顺序---它会在普通线程组执行之前被触发。
应用场景举例:
A、测试数据库操作功能时,用于执行打开数据库连接的操作。
B、测试用户购物功能时,用于执行用户的注册、登录等操作。

2、tearDown Thread Group

一种特殊类型的ThreadGroup,用于在执行常规线程组完成后执行一些必要的操作。在“teardown thread group ”下提到的线程行为与普通线程组完全相同。不同的是执行顺序---它会在普通线程组执行之后被触发。
应用场景举例:
A、测试数据库操作功能时,用于执行关闭数据库连接的操作。
B、测试用户购物功能时,用于执行用户的退出等操作。
tips:
默认情况下,如果测试按预期完成,则TearDown线程组将不会运行。如果你想要运行它,则需要从Test Plan界面中选中复选框“Run tearDown Thread Groups after shutdown of main threads”。

3、线程组(thread group)

 这个就是我们通常使用的线程。通俗的讲,一个线程组可以看做一个虚拟用户组,线程组中的每个线程都可以理解为一个虚拟用户。多个用户同时去执行相同的一批次任务。每个线程之间都是隔离的,互不影响的。一个线程的执行过程中,操作的变量,不会影响其他线程的变量值。

  1. 线程组基本设置

1)取样器错误后要执行的动作:

Stat Next Thread Loop:

忽略错误:线程当前循环中止,执行下一个循环;

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

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

Stop test now :整个测试会立即停止执行,当前正在执行的取样器可能会被终端;

这几个配置项控制了“当遇到错误的时候测试的执行策略”是否会继续执行;

2)设置线程数

线程数也就是并发数,每个线程将会完全独立的运行测试计划,互不干扰。多个线程用于模仿对服务器的并发访问。

3)设置 ramp-up period

  Ramp-up period用于设置启动所有线程所需要的时间,如果选择了10个线程,并且ramp-up period是100秒,那么jmeter将使用100秒使10个线程启动并运行。每个线程将在前一个线程启动后10(100/10)秒后启动;

当这个值设置的很小、线程数又设置的很大时,在刚开始执行时会对服务器产生很大的负荷。
下图的线程配置中,5个线程,5秒启动时间,每个线程执行两次循环。那么每个线程之间启动延迟为 1 秒。

 

4)设置循环次数:

该项设置线程组在结束前每个线程循环的次数,如果次数为1,那么jmeter在停止前只执行测试计划一次。

5)Delay Thread creation until needed

 默认情况下,测试开始的时候,所有线程就被创建完了。如果勾选了此选项,那么线程只会在合适的需要用到的时候创建

线程组调度器设置

  • 持续时间(秒)

控制测试执行的持续时间,以秒为单位

  • 启动延迟(秒)

控制测试在多久后启动执行,以秒为单位

  • 启动时间

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

  • 结束时间

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值