背景
最近因工作需求,我编写了几个 API 接口,主要涵盖以下三类:
- 获取 user 的接口
- 获取 members 的接口
- 获取 friends 的接口
完成开发后很快便部署上线。本以为一切顺利,不料没过多久服务器便发出告警——这几个接口的请求频率远超预期,直接导致服务器负载飙升,几乎濒临崩溃。
出现问题
收到告警后,我们进行了复盘分析,问题主要集中在两个方面:
- 接口本身是否存在性能瓶颈
- 服务器配置是否不足以支撑当前流量
作为开发人员,我们首先想到的是排查接口自身的性能问题。那么具体该如何排查?此时,压力测试便成为最有效的工具。
第二篇:Postman 压测
创建集合与接口
首先创建好集合,然后将三个接口逐一添加进去:
- 获取 user 的接口
- 获取 members 的接口
- 获取 friends 的接口
为了确保测试的严谨性,我们在 Test 中加入了断言校验,以保证返回数据符合预期:
pm.test('返回数据是 users', () => {
pm.expect(pm.response.text()).to.include('users')
})
然后发送请求进行验证,接口可以正常跑通,断言也全部通过——一切顺利。

批量发送压力测试
但仅发送一次请求并不能满足我们的需求。实际需要的是——批量发送,并且频率要足够高,这样才能真实检验接口的承载能力。
Postman 的 Runner 功能正是为此而生。

操作步骤也很简单:
- 第一步:将整个集合拖入测试区
- 第二步:设置循环次数
- 第三步:配置每次循环的延迟时间
- 第四步:点击运行按钮,开始压力测试

测试完成后,即可查看详细的结果报告:

Apifox —— 更便捷的压力测试工具
如果你觉得 Postman 的界面有些地方不够直观,或者对中文支持有更高要求,那么 Apifox 会是更顺手的替代方案。它原生支持中文,整个压测过程的可视化程度更高,操作体验也更加舒适:
- 调试选项清晰直观
- 中文界面原生支持
- 测试过程可视化展示
- 单个测试用例支持点击查看详情
创建接口用例
Apifox 提供了可视化的后置操作面板,添加断言脚本比 Postman 更加直观高效:

创建测试用例
创建测试用例时,还可以设置优先级,方便后续对测试进行分级管理:

开始压测
在自动化测试模块中,直接选择「性能测试」功能:

右侧的参数面板可以设置关键运行参数,例如:
- 运行环境
- 测试数据
- 并发用户数
- 运行时长
- 爬坡时间(逐步增加并发)

测试完成后,可以导出详细报告,方便与团队共享。如果想单独查看某个测试用例的详细数据,只需点击对应的「更多详情」按钮即可。
结语
虽然 JMeter 功能非常强大,但其配置过程较为繁琐,可视化程度也不够理想,因此本次压测暂不考虑使用它。
Postman 和 Apifox 都能满足基本的压力测试需求,但从实际使用体验来看,Apifox 具备几个明显的优势:
- 原生中文界面,降低使用门槛
- 脚本操作支持可视化选择,更易上手
- 运行过程可视化,实时了解测试状态
- 单个用例的详细数据可以点击查看,便于深入分析

