52 lines
1.8 KiB
Markdown
52 lines
1.8 KiB
Markdown
# 负载测试场景
|
||
|
||
目标环境:Go 后端 + PostgreSQL + Redis + IoTDB + AI 服务。结果需记录测试日期、版本、机器配置、并发、时长、p50/p95、失败率和观察到的限制。
|
||
|
||
## A. 500 在线用户 API 混合负载
|
||
|
||
比例:
|
||
|
||
- 80% 查询类:房间、设备、遥测最新值、告警列表
|
||
- 10% 遥测趋势:历史/聚合查询
|
||
- 5% 上传类:图片巡检上传
|
||
- 5% 管理操作:阈值、批次、检测任务、会诊
|
||
|
||
验收:API 错误率 <1%,业务接口 p95 <1s;上传成功且巡检闭环可追踪。
|
||
|
||
## B. 1000 WebSocket 连接
|
||
|
||
- 1000 个连接按授权设备订阅
|
||
- 持续 30 分钟
|
||
- 记录连接成功率、掉线率、消息延迟、CPU/内存
|
||
|
||
验收:连接成功率 >99%,消息 P95 延迟 <500ms,无内存持续增长。
|
||
|
||
## C. AI 峰值
|
||
|
||
固定条件:
|
||
|
||
- GPU:目标 T4 16G
|
||
- 模型版本和 ONNX 文件 hash
|
||
- 输入尺寸
|
||
- 并发数(建议 1/4/8/16)
|
||
|
||
记录 p50/p95、失败率、GPU 显存和单帧延迟。结果用于设置生产并发上限和推理告警阈值。
|
||
|
||
## 禁止事项
|
||
|
||
- 不在生产库执行写入类负载。
|
||
- 不使用真实用户隐私图片做公开压测。
|
||
- 压测前必须备份数据库并记录环境状态。
|
||
|
||
## 2026-08-14 开发服务器冒烟结果
|
||
|
||
环境:`100.83.103.1`,Go :3000,Web :5174,AI :8000(mock)。
|
||
|
||
| 场景 | 结果 |
|
||
|---|---|
|
||
| A. 500 请求 API 混合冒烟(健康接口) | 500/500 成功,失败率 0%,p50 99.1ms,p95 182.3ms |
|
||
| B. 1000 WebSocket 连接 | 1000/1000 成功,失败率 0%,连接建立+保持 1s 的 p50 1506.5ms,p95 1854.9ms |
|
||
| C. AI 峰值 | 未执行:当前为 mock,未使用 T4 和真实模型 |
|
||
|
||
说明:B 场景为短时连接冒烟,不等同于 30 分钟持续连接验收;完整验收仍需记录 30 分钟连接稳定性、掉线率和资源曲线。
|