规范-性能基准
位置: docs/开发规范/规范-性能基准.md
版本: v1.0
日期: 2026-07-08
关联: AGENTS.md、TDD-01(服务端架构)、GDD-03(战斗系统)、GDD-21(数值平衡)
1. 性能红线
以下指标为 不可突破的红线,超过即视为事故:
| 指标 |
红线 |
监控方式 |
告警阈值 |
| 战斗结算(单场) |
< 50ms |
服务端打点 |
> 50ms 告警,> 100ms 事故 |
| API 响应(P95) |
< 200ms |
Nakama 内置监控 |
> 200ms 告警,> 500ms 事故 |
| 登录流程(端到端) |
< 3s |
客户端打点 |
> 3s 告警,> 10s 事故 |
| 战报渲染 |
60fps |
客户端性能监控 |
< 30fps 告警 |
| 数据库查询(单条) |
< 100ms |
PostgreSQL slow log |
> 100ms 告警,> 500ms 事故 |
| 热更下载(百兆网络) |
< 10s |
CDN 监控 |
> 10s 告警 |
| 内存泄漏 |
0 |
服务端内存监控 |
连续 24h 内存增长 > 10% 告警 |
1.1 事故定义
- P0 事故:性能红线被突破,影响玩家体验(如战斗卡顿、登录超时)
- 处理流程:立即回滚/热修 → 事故复盘 → 预防措施
2. 性能监控
2.1 服务端监控
| 监控项 |
工具 |
频率 |
| API 延迟分布 |
Nakama 内置 + Prometheus |
实时 |
| 战斗结算耗时 |
自定义打点 |
实时 |
| DB 慢查询 |
PostgreSQL pg_stat_statements |
每小时 |
| 内存/CPU/连接数 |
Node exporter + Grafana |
实时 |
| 异常/error 日志 |
ELK / Loki |
实时 |
2.2 客户端监控
| 监控项 |
方式 |
频率 |
| FPS |
Cocos 内置 stats |
实时 |
| 内存占用 |
系统 API |
每 5 秒 |
| 网络延迟 |
Ping 服务端 |
每 30 秒 |
| 崩溃率 |
崩溃上报 |
实时 |
| 卡顿帧数 |
帧时间 > 33ms 计数 |
实时 |
2.3 性能报告
- 日报:关键指标汇总(平均延迟、P95、错误率、崩溃率)
- 周报:趋势分析,识别性能退化
- 月报:容量规划,预测是否需要扩容
3. 性能优化原则
| 原则 |
说明 |
| 延迟优先于吞吐量 |
玩家体感延迟比 QPS 更重要 |
| 预计算 > 实时计算 |
能离线算的不在线算 |
| 缓存 > 查询 |
热点数据走 Redis/Valkey |
| 批量 > 单条 |
数据库操作尽量批量 |
| 异步 > 同步 |
非关键路径走消息队列 |
4. 性能测试要求
| 测试类型 |
频率 |
环境 |
| 单元性能测试 |
每次 PR |
CI |
| 战斗并发测试 |
每周 |
Staging |
| 全链路压测 |
每月 |
Staging |
| 客户端性能测试 |
每次发版 |
真机 |
5. 版本记录
- v1.0(2026-07-08): 初始版本,覆盖性能红线、监控、优化原则、测试要求