文章目录
前言
对接口类型是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%分位值 | 反映长尾请求性能 |