1.setUp Thread Group
一种特殊类型的线程组,在常规线程执行前执行,在'setup thread group'线程下的行为和常规线程一模一样,不同的是执行顺序,最先执行也就是常见的‘前置操作’。
应用场景
- 数据库连接、文件处理等
- 注册、登录
2.tearDown Thread Group
与setUp Thread Group 对应,最后执行
应用场景
- 退出后垃圾清理
- 数据库连接关闭
- 文件描述符关闭
- 登出
3.线程组(Thread Group--常用)
这个就是我们通常使用的线程,一个线程组可以看成一个虚拟用户组,线程组中的每个线程可以看成每个虚拟用户。多个用户同时去执行同一批次任务,每个线程之间都是隔离的互不影响。
1.线程属性
点击鼠标右键->添加->Threads(Users)->线程组

线程属性区域中,如果设置线程数为1(线程数等同于虚拟用户数),默认1秒启动1个用户,循环次数输入10标识循环10次,那么跑的结果就是左侧线程组下属的所有控制器都会执行10次,第一个用户跑完后接着跑第二个

执行结果,请求了10次

请求次数=线程数 * 循环次数,循环次数如果勾选“永远”,就是一直循环下去

2. 采样器失败后处理
1、continue:继续执行接下来的操作
2、Start Next Thread Loop:开始下一次循环
3、stop Thread:停止线程,退出该线程(不再执行此线程的操作)
4、stop Test:等待当前执行的采样器结束后,结束整个测试
5、Stop Test Now:马上停止测试
3.调度器配置

4. Stepping Thread Group(逐步线程组--常用)
这个可以模仿递增式并发(不但递增还可以递减),并可设置递增次数、递增启动延迟、递增时长、到达目标递增数量保持时长等等

1、线程组最大用户数:100个
2、初次加载用户前等待时间:0秒,
3、第一次加载用户数:20个用户开始
4和5和6:每隔3秒在5秒内增加10个用户
7、持续压测600秒,10分钟
8、和9:退用户,每1秒退出5个用户
5. Ultimate Thread Group(最终线程组--常用)
它可以对负载中的线程组进行复杂的管理。通过在线程计划中具有无限数量的行来完成此操作,这可以为线程组的不同部分启用不同的配置。该插件跟Stepping Thread Group线程组有些类似,不过这个是多个线程组设置的结合。执行的时候,每个线程组是同时按照自己的规则开始执行的,每一时刻,得到的结果都是两个线程组的叠加。
形象比喻:
并发的用户就像浪花一波一波的不断涌入系统,拍打服务器,考验我们的系统能否顶住压力并平稳运行
我们的网站正在平稳运行的时候,突然有一波1000用户同时访问,我们称之为第一浪潮。访问了30s之后,第一浪潮在15s内逐渐退出系统。
在第一浪潮退出系统的同时,第二波2000用户在极短时间内又突然涌入网站,我们称之为第二浪潮。在访问30s之后,第二浪潮在15s内也逐渐退出了系统。
在第二浪潮退出系统的同时,第三波3000用户又突然涌入网站,我们称之为第三浪潮。在访问30s之后,第三浪潮在15s内也逐渐退出了系统。
在第三浪潮退出系统的同时,第四波1000用户又突然涌入网站,我们称之为第四浪潮。在访问30s之后,第四浪潮在15s内也逐渐退出了系统。

第一波
Start Threads Count:当前行要启动的线程总数,100个
Initial Delay/sec:延时启动当前行的线程,初始延迟时间,10s
Startup Time/sec:启动当前行所有线程到达峰值所需要的时间,20s启动完成,5个/s
Hold Load For/sec:当前行线程达到峰值后的稳定加载时间,50s
Shutdown Time:停止当前行所有线程所需时间,10s,10个/s
第二波
Start Threads Count:当前行要启动的线程总数,100个
Initial Delay/sec:延时启动当前行的线程,初始延迟时间,0s
Startup Time/sec:启动当前行所有线程到达峰值所需要的时间,30s内启动完成
Hold Load For/sec:当前行线程达到峰值后的稳定加载时间,60s
Shutdown Time:停止当前行所有线程所需时间,10s,10个/s
总结
- bzm - Arrivals Thread Group(bzm-到达线程组)
- bzm - Free-Form Arrivals Thread Group
- bzm- Concurrency Thread Group(递增式并发线程组)
- jp@gc - Stepping Thread Group(5.0官方被弃用)
- jp@gc - Ultimate Thread Group (最终\极限线程组)
jmeter自带的线程组比较简单,如果需要逐渐增加并发数的功能并不能实现,所以就需要使用Jmeter插件,以上插件需要安装。根据使用场景可以自行选择,常用的有 jp@gc - Ultimate Thread Group 、 jp@gc - Stepping Thread Group(5.0官方被弃用,可以用 bzm- Concurrency Thread Group )





Comments | NOTHING