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时间应低于同步定时器的超时时间设置, 否则会出现, 线程组相应线程还未准备完毕, 便发出请求的现象(此时并发数不够)。
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走!
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。