PERFORMANCE-CHECKLIST.md 1.6 KB

祈盟SDK 性能自检清单

写完代码后,对照这份清单逐项打勾。 任何一项不通过,PR 会被打回。


批量查询类

  • 入参是否校验 count ≤ 2000
  • 是否避免 OR 条件拼 > 1000 条 SQL?
  • 是否使用分页/分批/IN 语法?
  • 大量数据查询是否走预聚合表而非明细表?

重试类

  • 重试是否使用指数退避(30s→1min→2min→4min→5min)?
  • 重试上限是否 ≤ 5 次?
  • 失败时是否有降级方案(缓存值/默认值)?
  • 重试触发前是否判断"失败原因"?(瞬时 vs 持续)

缓存类

  • 客户端缓存时长是否 < 服务端会话有效期?
  • 是否有缓存失效校验逻辑?
  • 缓存 Key 是否包含版本号/更新时间?(避免脏读)

接口类

  • 是否配置了 QPS 限流?
  • 是否有超时设置(建议 5s)?
  • 是否有降级方案(限流后返回什么)?

数据库类

  • 金额字段是否用 DECIMAL(15,2)BIGINT
  • 金额运算是否在数据库层完成?
  • 慢 SQL 是否走索引?
  • 是否避免 SELECT *

并发类

  • 是否考虑了并发场景下的幂等性?
  • 是否有锁竞争/死锁风险?
  • 连接池大小是否合理?(建议 ≤ 50)

跨部门类

  • 接口/数据源切换是否同步了产品部 + 发行部?
  • 是否更新了对外文档?

上线类

  • 是否有监控告警?(不是"出事后补")
  • 是否有降级开关?
  • 是否有回滚方案?
  • 冒烟测试是否覆盖核心场景?