Jmeter压测实战之HTTP_POST

文章目录

  • 前言
  • [一、POST 接口压测](#一、POST 接口压测)
  • 总结

前言

对接口类型是POST,且请求格式类型是JSON 格式的数据进行压测,这也是在日常项目中常用的压测工作。


一、POST 接口压测

1.打开jmeter 后创建一个测试计划 这里举例子:账户充值接口

2.创建线程组
主要关注下 线程数 和 Ramp-up时间的设置:
线程数:相当于用户量,一个线程相当于一个用户
Ramp-up时间:(上升时间)指的是:从第一个线程启动到最后一个线程启动完成所花费的总时间(单位:秒)如:

例1:如果线程数 = 10,Ramp-Up = 5 秒
JMeter 会在 5 秒内逐步启动这 10 个线程。
每秒启动线程数 ≈ 10 / 5 = 2 个
每启动一个线程的间隔 ≈ 500 毫秒
例2:如果线程数 = 10,Ramp-Up = 0 秒
所有 10 个线程会在一瞬间同时启动。

3.创建HTTP请求(方式:右点击线程组->点击添加->取样器-> HTTP请求)
按照截图一次填写好请求信息和参数:在消息体数据传参写好(实际使用中传参都是动态变化的,后会使用csv文件导入)

如果需要在请求头补充一些参数如token等需要 右击 HTTP请求组件->(点击添加 -> 配置元件->HTTP信息头管理器)

这里步骤模拟实际用户使用下,动态传参数,并压测接口,而非单一指定参数去压测接口

3.1.准备一份CSV模版文件如

3.2.添加 【CSV数据文件设置】组件 也是在HTTP请求组件右击后 【添加】-> 【配置元件】 的组件中找到的

填写好相应的信息:
注意变量名称的填写和忽略首行

3.3.这里我们在 【HTTP请求】 组件的消息体数据就可以用变量替换
替换的时候,字符要保留"",原样替换如图:

4.上面的配置完成后就可以配置一些监控工具:

在右击【setUP线程组】后【添加】 【监听器】的组件中选择

5.组件设置完后,点击页面 绿色三角形 启动按钮便可以测试

接口响应时间图:

总结

通过 JMeter 压测接口后,汇总报告 (Summary Report) 和 聚合报告 (Aggregate Report) 的核心指标基本相同,只是展示粒度略有差异。重点关注以下 6 个关键指标:

指标名称 含义 判断标准
Samples (样本数) 发出的请求总数 确认压测是否按预期执行
Average (平均响应时间) 所有请求的平均耗时(ms) 越小越好,一般<200ms(互联网)
Error % (错误率) 失败请求占比 ≤1% (严格系统要0%)
Throughput (吞吐量) 每秒处理的请求数 (TPS/QPS) 越高越好,核心性能指标
90% Line (90分位值) 90%的请求在此时间内完成 比平均值更能反映多数用户体验
95% / 99% Line 95%/99%分位值 反映长尾请求性能
相关推荐
Madison-No77 小时前
基于JMeter工具的性能测试(接口)
python·jmeter·postman
那年窗外下的雪.9 小时前
第 02 天:Linux 权限、inode、目录项与链接
学习·http
那年窗外下的雪.10 小时前
AIDC 学习日志|第 27 天|EVPN 多归属收敛时间线与 Leaf2 接管验证
网络协议·学习·http·tcpdump
j7~10 小时前
【Linux】三十八.C++ 手写 HTTP 服务器:裸 socket + fork 多进程,从 HTTP 报文解析到浏览器打开网页
linux·网络·网络协议·学习·http·网络编程
小则又沐风a11 小时前
深入理解TCP协议----滑动窗口,流量控制
linux·网络协议·tcp
captain3761 天前
网络原理(9)-数据链路层
java·网络协议·java-ee
yi碗汤园1 天前
MQTT消息队列遥测传输协议
网络·网络协议·unity
花间相见1 天前
【后端开发|网络编程】—— 五种实时通信方案全解析:短轮询、长轮询、SSE、MQTT、WebSocket
后端·网络协议
AKA__Zas1 天前
跨网段主机的文件传输过程
java·网络·网络协议·学习方法
小乙说1 天前
JMeter接口测试
jmeter·接口测试