概述
线程组是一个测试计划的起点。测试计划中所有元件的运行都必须依托于线程组。每个线程组都会独立的运行测试计划,互不干扰
线程数
- 线程数在并发用户场景下表示用户数,比如100用户同时发起请求
- 线程数在业务量场景下表示并行的业务数,比如100笔业务同步处理
Ramp up
Ramp up表示线程启动的总时间,或者可以理解为线程需要花多久时间启动完毕
这里也要区分两种场景,如下所示
- 添加集合点的情况下,设置ramp up表示线程集合的时间,此时是并发测试
- 不加集合点的情况下,设置ramp up表示达到负载量的时间,此时是负载测试
循环次数
循环次数表示单线程迭代的次数,注意这里说的是单线程
1个线程,循环5次,则表示该线程需要循环执行5次任务调度
10个线程,循环5次,则表示每个线程都要循环执行5次任务调度。任务调度总数为:10*5=50次
循环其实是基于线程的一种顺序调度方式。比如上一次任务调度正常返回,则继续进行下一次任务调度;如果上一个任务调度无法正常返回,,那么就产生了阻塞。单位时间内线程能够执行多少次任务调度完全取决于任务的响应时间。对于服务端来说,我们能够施加的压力就是每秒请求数。从jmeter角度来看,也就是(线程*循环次数)/s
并发
并发线程
并发线程指的是jmeter能够同时启动多少线程去调度请求。这里是由机器资源决定的。应用内存=MaxHeap+xss*线程数,通过应用内存,堆内存,栈内存计算出机器能够启动多少线程。如果机器资源或者应用资源配置不足,那么线程将无法启动去调度任务。
并发请求
并发请求指的是在Jmeter能够启动线程的基础上,单位时间内同时向服务端发送多少请求。基本公式就是(线程*请求数)/s
并发连接
并发连接指的是能够维持的长连接数。比如Jmeter维持了200个长连接,那么将在这200个连接的基础上并行发送数据包。我们设置了多少线程,那么就应当有多少长连接数,因为线程在第一次迭代之后就已经建立了连接,直到长连接到期都不会重新建立新的连接