测试目标
- 验证系统在高并发访问下的稳定性与响应能力
- 验证系统资源利用情况(CPU、内存、I/O、网络)
- 验证系统在目标 TPS/QPS 下的可承载能力
- 验证各关键业务链路在峰值负载下的响应时间与成功率
测试环境说明
资源介绍
- 4 台 8C16G 的应用服务器
- 2 台 4C8G 的发压服务器
注意:
- 压测时access-api和data-center开启4个
压测场景设计
单交易负载场景
单接口压测,统计性能峰值;报告只记录最高性能数值
| 序号 | 请求接口 | 并发数 | 压测时长(秒) |
|---|---|---|---|
| 1 | 获取SDK配置信息接口 | 200 | 60 |
| 2 | 获取基础库信息接口 | 200 | 60 |
| 3 | 获取小程序详情接口 | 200 | 60 |
| 4 | 获取隐私信息接口 | 200 | 60 |
| 5 | 是否允许用户上报接口 | 200 | 60 |
| 6 | 数据上报接口 | 200 | 60 |
混合测试场景
混合接口压测,统计性能峰值;报告只记录最高性能数值
| 序号 | 请求接口 | 并发数 | 压测时长(秒) |
|---|---|---|---|
| 1 | 获取SDK配置信息接口 | 30 | 60 |
| 2 | 获取基础库信息接口 | 60 | 60 |
| 3 | 获取小程序详情接口 | 60 | 60 |
| 4 | 获取隐私信息接口 | 30 | 60 |
| 5 | 是否允许用户上报接口 | 10 | 60 |
| 6 | 数据上报接口 | 10 | 60 |
稳定性测试场景
对存在并发场景的业务接口,按最高性能的百分之5、60%长时间压测8小时,观察系统是否出错以及资源消耗
| 序号 | 请求接口 | 并发数 | 压测时长(秒) |
|---|---|---|---|
| 1 | 获取SDK配置信息接口 | 10 | 28800 |
| 2 | 获取基础库信息接口 | 10 | 28800 |
| 3 | 获取小程序详情接口 | 10 | 28800 |
| 4 | 获取隐私信息接口 | 10 | 28800 |
| 5 | 是否允许用户上报接口 | 10 | 28800 |
| 6 | 数据上报接口 | 10 | 28800 |
压测工具
自研压测工具
工具介绍:
基于于 Go 语言和领域驱动设计(DDD)理念的自研压测工具,该工具源于实际业务开发需求,融合了 DDD 架构、CQRS 模式及事件溯源机制,天然贴近业务逻辑,可实现高度可控、可扩展、高性能的压测能力
压测介绍:
使用 docker 启动,传入相关环境变量参数进行压测
jmeter
工具介绍:
是一款开源的性能测试工具,主要用于对Web应用、API、数据库等进行压力测试、负载测试和性能分析。
压测介绍:
提供 jmeter 压测 tpl 接口文件,根据需要修改对应参数,根据不同客户环境实施压测
