Jmeter线程组和同步定时器!

1215 篇文章 11 订阅
682 篇文章 3 订阅

1.线程组

1.1线程组的定义

进程:正在运作中的程序---QQ、微信、迅雷

线程:进程中的执行单元 一个进程包含多个线程 ---下载 播放

线程组:按照线程性质对线程进行分组 --单个下载 批量下载 -- 接口分组

线程组:就是一个线程组,里面有若干个请求;
线程:一个线程就是一个“虚拟用户”
请求:一个线程组里面有若干个请求。
例如:1个 线程组里面有10个 请求线程数为10个,跑完后得到:
理解为:(10个线程数)10个人,每个人都要跑这10个请求,所以:10*10=100:
并发数:100;线程数:10
PS:线程组也可以看作是一个虚拟用户组。线程组中的每一个线程都可以理解为一个虚拟用户。

1.2接口分组:

接口分组 http请求------对应----线程 线程组

顺序执行:按照线程的启动顺序挨个执行 ----线程组内顺序执行

并发执行:多个线程同时执行 特定:执行结束顺序和线程的启动顺序不一定一致 ---线程组间并发执行

​线程数5:--模拟用户数 5个用户
时间(秒数)10:指定时间内启动所有线程数,10秒钟之内启动5个用户(区间内)
循环次数3:单个用户访问次数 3 ,每个用户执行3次

1.3线程组的区域

区域一:在采样器失败后怎么处理(LoadRunner里面也有类似的运行设置选项,对比去学习):

1、continue:继续执行接下来的操作;

2、Start Next Thread Loop:开始下一次循环;

3、stop Thread:停止线程,退出该线程(不再执行此线程的操作);

4、stop Test:等待当前执行的采样器结束后,结束整个测试;

5、Stop Test Now:马上停止测试;

区域二:线程属性:

1、Number of Threads(users):线程数,相当于模拟的用户数量;

2、Ramp-up Period(in seconds):达到指定线程需要的时间,例如线程数为100,时间设定为10s,那么就是10s加载 100个线程,每秒启动的线程数=100/10=10;

3、Loop Count:如果填具体的数值,就是循环对应的次数;如果选择“Forever”,则一直执行下去,直到手动停止;

4、Delay Thread creation until needed:延迟线程创建,直到需要才创建。

区域三:调度器配置:

需要选中调度器(scheduler),调度器配置才生效。

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:110685036【暗号:csdn999】

2.Synchronizing Timer(同步计时器)

同步计时器,用来模拟多用户并发,或者说更严格的并发场景。

用来设置集合点,阻塞线程,同步虚拟用户,直到指定的线程数量到达后,恰好在同一时刻执行任务,再一起释放,可以瞬间产生很大的压力。

注意:一般情况,并发用户数多少,同步定时器就写多少。(多少并发就要等多少个人到齐一起释放)

同步定时器的位置和影响:

(1)如果在线程组上添加“同步定时器”,那同步定时器中的规则将对每一个请求都有效。

(2)如果在单个请求下添加“同步定时器”,那么同步定时器的规则只对这个请求有效

参数说明:

Number of Simulated Users to Group by(模拟用户组数量):集合点个数 (执行的线程数),如果设置为0,等于设置为线程租中的线程数量。

Timeout in milliseconds(超时时间):指定线程数多少秒没集合到算超时(以毫秒为单位),默认为0。

    • 如果设置为0,该定时器将会等待线程数达到了 "模拟用户组数量" 中设置的值才释放,不够的话就死等。
    • 如果大于0,那么如果超过 "超时时间" 中设置的最大等待时间后还没达到 "模拟用户组数量" 中设置的值,Timer 将不再等待,释放已到达的线程。
    • 上面两个参数如果都设置了值,则在实际中是哪个条件先达到,定时器先执行哪个,如第一个参数释放线程数量先达到,则不会管超时时间的值,timer 会释放;如果第二个参数超时时间先达到,则不会再等线程数量,按照目前超时的时间点集合的线程数,timer 释放。

同步定时器(Synchronizing Timer)的超时时间设置要求:

    • 超时时间 > 请求集合数量 * 1000 / (线程数 / 线程加载时间)。
同步定时器的超时时间, 是向线程组发送相应模拟用户数的时间
例如:
线程组设置的线程数为10, Ramp-Up时间为5s, 循环次数为10;
同时, 同步定时器的模拟用户数量为30, 且超时时间为 100s,
那么, 该线程组在5s内会准备好10个线程, 但不会发出请求,
会在100s时, 该线程组的10个线程会发出30个请求, 然后再过100s再次发出30个请求, 依次类推, 一共发出10次请求。
> 注意事项: 线程组的Ramp-Up时间应低于同步定时器的超时时间设置, 否则会出现, 线程组相应线程还未准备完毕, 便发出请求的现象(此时并发数不够)。

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走!

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
 

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值