Jmeter中线程组介绍

1.线程数的意义

        Jmeter采用了线程来模拟用户,即1个线程代表1个用户,线程可以简单理解为计算机处理任务时的一个具体执行人。

        一个任务可以由多个人(线程)共同完成,也可以由一个人(线程)来完成,但是至少需要一个人(线程)来完成。在线程组上设置线程数量为10,代表Jmeter会在瞬间启动10个线程来模拟10个用户发起请求。

Ramp-Up时间(秒)值表示启动所有线程所用的时间。

2.循环的意义

        默认情况下,Jmeter里的每个线程(用户)只会发起一次请求,执行完成后Jmeter就会停止。这个时间通常很 短。但是在实际场景中,大多数的业务都是持续不断的有用户来请求,这秒有10个用户来请求,下一秒还会有 10个用户。好多系统能够支持短时间内的大量并发请求,但是持续一段时候可能就会挂掉。因此使用Jmeter来 压测时,也必须让Jmeter持续的来模拟新的用户请求,这样才能更贴近实际场景。才能测出更多的问题。 Jmeter里可以设置循环次数,让一个线程(用户)执行完一次请求后,还能继续执行请求,持续产生压力。

        循环可以通过设置固定的循环次数和固定循环时间来达到效果。

2.1.固定循环次数

        比如设置循环次数1000,代表每个线程连续执行1000次线程组内的请求,10个线程总共执行10000次请求。

2.2.固定循环时间

        勾选永远,勾选调度器,设置持续时间,单位为秒。图中设置为180,代表持续每个线程持续执行180秒。

3.线程组的执行逻辑

        在做脚本设计时,如果有多种业务同时压测,可以创建多个线程组,每 个线程组上设置不同的线程数,线程组之间是相互独立的。线程组就代 表了不同的人群。可以理解成线程组相当于是公司里的不同部门,每个 部门有若干个员工(线程数),每个部门做的事情是相互独立的,互不 影响。

如果某个业务需要调用多个接口来完成,通常会把多个接口写到同一个 线程组内,代表了一个业务流程,比如“登录-加购物车-下单”。同一 个线程组内的每个线程都会按照从上到下的顺序去执行请求,而且每个 线程之间的工作也是相互独立。

        可以理解为销售部的每一个员工,他们 在工作时,都会按照一个“寻找客户-忽悠客户-签合同”的顺序,每个 员工都是在做自己的工作,有自己的客户,相互独立。 因为线程组上通常都设置了循环次数,因此每个线程执行完请求后,会 继续循环下一轮,一直到循环结束。在销售部里面,每个员工签订完一 个客户后,会继续再次"寻找客户-忽悠客户-签合同"的流程。

3.1.线程组和请求设置逻辑

关键逻辑:

        一个线程组内的多个请求是顺序执行的;

        不同线程组内的请求是并行执行的。

线程组和请求的关系:

        如果多个接口之间没有强依赖关系,每个接口单独设置一个线程组;

        如果多个接口之间有依赖关系(数据关联),把有关联关系的接口按照顺放在同一个线程组内。

4.特殊的线程组

4.1.setUp线程组

        执行全局初始化操作的线程组,在所有线程组前执行。

4.2.tearDown线程组

        执行全局结束操作的线程组,在所有线程组之后执行。

  • 22
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值