测试驿栈-由浅入深学性能 对 Jmeter 基础线程组的一点解释
「原创声明:保留所有权利,禁止转载」
概述
线程组是一个测试计划的起点。测试计划中所有元件的运行都必须依托于线程组。每个线程组都会独立的运行测试计划,互不干扰
线程数
- 线程数在并发用户场景下表示用户数,比如 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 个连接的基础上并行发送数据包。我们设置了多少线程,那么就应当有多少长连接数,因为线程在第一次迭代之后就已经建立了连接,直到长连接到期都不会重新建立新的连接
TesterHome 为用户提供「保留所有权利,禁止转载」的选项。
除非获得原作者的单独授权,任何第三方不得转载标注了「原创声明:保留所有权利,禁止转载」的内容,否则均视为侵权。
具体请参见TesterHome 知识产权保护协议。
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!