# 规范-性能基准 > **位置**: `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): 初始版本,覆盖性能红线、监控、优化原则、测试要求