专栏文章 对 Jmeter 基础线程组的一点解释

飞天小子的性能课堂 · 2022年08月20日 · 最后由 ERIC 回复于 2022年09月13日 · 5014 次阅读

概述

线程组是一个测试计划的起点。测试计划中所有元件的运行都必须依托于线程组。每个线程组都会独立的运行测试计划,互不干扰

线程数

  • 线程数在并发用户场景下表示用户数,比如 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 个连接的基础上并行发送数据包。我们设置了多少线程,那么就应当有多少长连接数,因为线程在第一次迭代之后就已经建立了连接,直到长连接到期都不会重新建立新的连接

文档都已经上传到飞书知识库,自由阅读

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 10 条回复 时间 点赞

已收藏,多谢分享

大佬,學習了

留着以后给组员看😀

有问题私聊我

有些基础知识点确实很有用

😁 找了好多资料,终于逮到想要的拉

Jmeter 的设置竟然如此复杂,还是得掌握基础,每一个设置点不同的设置就有不同的结果呢

性能专家

太牛了,感谢分享。

已收藏,感谢大佬

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册