线程组
- 定义
一个线程组可以看做是一个虚拟用户组,或者一个串联链路(解释见:性能测试实施流程)。线程组里的每个线程可以理解为一个用户(虚拟的),多个线程,则就是多个用户去执行当前线程中的操作。每个线程之间是互不影响的,比如A线程组里的变量值的改变,不会影响到B线程组。
线程组
1、setup thread group
执行在所有常规线程组前面,一般用于执行一些前置操作,比如说:
1.执行登录
2.进行数据库操作测试时,执行连接数据库
...
2、thread group(线程组)
常规线程组,一般用于执行测试场景操作
3、thread group(线程组)
执行在所有常规线程组的后面,一般用于执行一些后置操作,比如说:
1.执行退出登录
2.执行断开数据库连接
3.执行清理测试数据
...
4、界面
线程组界面
-
Sampler/取样器错误后要执行的动作
控制当前线程组下的Sampler出现错误后的动作:
1.继续:继续执行;默认动作
2.Start Next Thread Loop:本次循环中剩余的Sampler不执行,进行下一次循环
3.停止线程:当前线程组停止,其它线程组继续
4.停止测试:当前正在执行的线程执行完毕后,停止所有测试
5.Stop Test Now:所有线程立刻停止测试,正在执行的取样器也可能会被中断 -
线程数
线程数代表客户端并发数,每个线程代表一个虚拟用户,线程之间的操作互不干扰。多个线程用于模拟多个用户对服务器的并发访问。
假设jmeter中线程组的线程数设置为100,只能代表客户端将会发送100个该线程组下的请求给服务端,并不代表服务端一定会接收到这100个线程发出的请求(因为可能会发送失败)。
-
Ramp-Up Period(单位秒)
1.启动所有线程所需要的时间。比如线程数设置为10,Ramp-Up Period设置为100秒,代表100秒启动10个线程,第一个线程实时启动,然后每10(100/10)秒启动一个线程,最后一个线程的启动时间是第90(100-100/10)秒 -
循环次数
代表线程的执行循环次数
1.填写数字,比如线程数设置为10,循环次数设置为2,那么请求次数= 线程数 * 循环次数 = 20次
2.永远,那么就会一直执行下去,直到手动停止 -
Delay Thread creation until needed
1.默认不勾选,代表测试开始时,所有线程都已经创建完毕
2.勾选,那么只有在使用到线程的时候,才会创建线程 -
调度器
可以控制线程组的执行时间。勾线后,能填写持续时间(秒)、启动延迟(秒)
1.持续时间(秒):线程组持续执行的时间
2.启动延迟(秒):线程组
例子:线程数设置N,持续时间设置1秒,启动延迟设置2秒。那么就是2秒后开始启动测试,持续1秒,如果1秒内跑完了N个线程,那就结束;如果1秒内没跑完N个线程,同样结束测试












网友评论