性能瓶颈分析Skill
适用场景
压测后或线上性能劣化时,系统化定位瓶颈,输出有证据的根因结论。
执行步骤
- 建立证据链:先复现(压测曲线/监控图)→ 定位层 → 定位点 → 根因。
- 分层排查(自上而下):
- 接入层:网关/负载均衡/连接数/SSL 卸载。
- 应用层:线程池、CPU(火焰图)、GC、锁竞争、慢接口(APM)。
- 中间件:Redis(慢命令/大 key/热 key)、MQ(堆积/消费慢)。
- 数据库:慢查询日志、锁等待、连接池、索引命中率。
- 基础设施:网络带宽、磁盘 IO、云资源规格/限流。
- 对比验证:改前/改后指标对比(或 A/B),确认根因后再给结论。
- 输出:瓶颈点 + 证据 + 根因 + 优化建议(按收益排序)。
规范要点
- 结论必须跟证据:哪张图/哪条日志/哪个指标,禁止「感觉是 XX 问题」。
- 指标关联看:CPU 高 ≠ CPU 瓶颈(可能是 GC/等待),需结合线程栈确认。
- 一次只改一个变量:调优后对比单变量影响。
- 优化建议按「预期收益 + 改动成本 + 风险」排序,先易后难。
输出模板
## 瓶颈定位结论
| 层 | 瓶颈点 | 证据(指标/日志) | 根因 |
## 优化建议(收益/成本/风险排序)
自检清单
- 每条结论有证据支撑
- 已排除上层/下层干扰因素
- 建议按收益成本排序