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%分位值 反映长尾请求性能
相关推荐
笨鸟飞不快3 小时前
从一次网络请求出发,彻底搞懂事件循环、I/O 多路复用与响应式编程
网络协议
信息安全失业大专人员4 小时前
HTTP/HTTPS 协议精髓与 WAF(Web 应用防火墙)架构防线大底座
web安全·http·信息安全·https·企业信息安全
缪懿7 小时前
网络层和数据链路层中的常见协议解析
网络·网络协议·java-ee
田里的水稻8 小时前
OE_永久配置网络_linux系统终端命令行ip_setting
人工智能·网络协议·机器人·运维开发
辣椒思密达8 小时前
住宅IP与机房IP的区别及技术选型指南
网络·网络协议·tcp/ip
阿文的代码库9 小时前
用于事件驱动系统的WebSocket
网络·websocket·网络协议
1candobetter10 小时前
JMeter 常见功能在调试阶段与正式压测阶段的使用建议
jmeter·压力测试
不只会拍照的程序猿10 小时前
深入理解AFDX(ARINC 664 Part7):从原理到实现(上篇)
网络协议·航空总线·afdx·arinc 664
AIwenIPgeolocation10 小时前
IP+设备双维监控,让黑产的“秒拨”和“云手机”无所遁形
网络协议·tcp/ip·智能手机