🧑💻作者名称:DaenCode
🎤作者简介:CSDN实力新星,后端开发两年经验,曾担任甲方技术代表,业余独自创办智源恩创网络科技工作室。会点点Java相关技术栈、帆软报表、低代码平台快速开发。技术尚浅,闭关学习中······
😎人生感悟:尝尽人生百味,方知世间冷暖。
📖所属专栏:JMeter实战
专栏推荐
- 专门为Redis入门打造的专栏,包含Redis基础知识、基础命令、五大数据类型实战场景、key删除策略、内存淘汰机制、持久化机制、哨兵模式、主从复制、分布式锁等等内容。
链接>>>>>>>>>
《Redis从头学》 - SpringBoot实战相关专栏,包含SpringBoot过滤器、拦截器、AOP实现日志、整合Freemaker、整合Redis等等实战相关内容,多篇文章登入全站热榜、领域热榜、被技术社区收录。
链接>>>>>>
《SpringBoot实战》
文章目录
- 专栏推荐
- 🌟前言
- 🌟线程组配置
- 添加线程组
- 配置线程组
- 🌟取样器配置
- 添加HTTP请求取样器
- 取样器配置
- 🌟监听器配置
- 添加监听器-结果树
- 添加聚合报告
- 🌟压测结果查看
- 结果树查看
- 聚合报告查看
- 聚合报告分析
- 🌟写在最后
🌟前言
上一节中对JMeter的介绍、安装以及汉化,包括目录的结构进行了解释,本文来对其进行一个简单的压测使用。
🌟线程组配置
添加线程组
选择Test Plan-》右击-》Add-》Threads(Users)-》Thread Group
配置线程组
将线程组的名称改为自己测试的名称,按照下图所示进行配置。以下是参数解释:
-
Number of Threads (users):并发用户数,即同时执行测试的虚拟用户数量。
-
Ramp-Up Period (in seconds):启动所有线程所需的时间,即在指定时间内启动所有线程。
-
Loop Count:每个线程要执行的循环次数。
-
Delay Thread creation until needed:延迟线程创建,直到需要启动时才创建线程。
-
Scheduler:设置线程组的计划执行时间。
- Duration (seconds):设置测试的总持续时间。
- Startup Delay (seconds):测试启动前的延迟时间。
-
Specify Thread Lifetime :指定线程生命周期。
- Forever:线程组将一直运行,直到测试停止。
- Until:线程组运行到预定义的时间或条件满足时停止。
- Duration (seconds):指定线程组运行的持续时间。
-
Action to be taken after a Sampler error:当采样器出现错误时要采取的操作。
- Continue:继续执行下一个采样器。
- Start Next Thread Loop:开始下一个线程循环。
- Stop Thread:停止当前线程。
- Stop Test:停止整个测试。
🌟取样器配置
添加HTTP请求取样器
添加HTTP请求取样器,选中线程组-》右键-》Add-》Sampler-》HTTP Request。
取样器配置
配置如下图所示:以下是相关参数解释:
- Protocol:指定请求的协议,例如 HTTP 或 HTTPS。
- Server Name or IP:指定服务器的主机名或 IP 地址。
- Port Number:指定服务器的端口号。
- Method:指定请求的 HTTP 方法,如 GET、POST、PUT、DELETE 等。
- Path:指定请求的路径,包括 URI 和查询参数。
- Content Encoding:指定请求的内容编码方式,例如 gzip、deflate 等。
- Parameters:设置请求的参数。您可以手动添加参数名和值,并选择是否对值进行 URL 编码。
- Use multipart/form-data for POST:对于 POST 请求,选择是否使用 multipart/form-data 格式来上传文件或发送表单数据。
- Browser-compatible headers:选择是否使用与浏览器兼容的头部信息。
🌟监听器配置
添加结果树监听器以及聚合报告为的就是查看接口的测试结果。
添加监听器-结果树
按下图所示步骤,为线程组添加结果树监听器
添加聚合报告
🌟压测结果查看
后端服务也就是IDEA中启动相关服务,然后就可以按照下图操作进行压测。要记得先保存测试计划。
结果树查看
聚合报告查看
聚合报告分析
lable: sampler的名称
Samples: 一共发出去多少请求,例如10个用户,循环10次,则是 100
Average: 平均响应时间
Median: 中位数,也就是 50% 用户的响应时间
90% Line : 90% 用户的响应不会超过该时间 (90% of the samples took no more than this time. The remaining samples at least as long as this)
95% Line : 95% 用户的响应不会超过该时间
99% Line : 99% 用户的响应不会超过该时间
min : 最小响应时间
max : 最大响应时间
Error%:错误的请求的数量/请求的总数
Throughput: 吞吐量——默认情况下表示每秒完成的请求数(Request per Second) 可类比为qps、tps
KB/Sec: 每秒接收数据量
🌟写在最后
有关于JMeter压力测试初体验:线程组、取样器、监听器的简单使用以及如何查看压测结果到此就结束了。感谢大家的阅读,希望大家在评论区对此部分内容散发讨论,便于学到更多的知识。