性能优化助手
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_af163eaa/z-dev-perf。
技能介绍
它解决什么问题
线上服务变慢时,最常见的错误是凭直觉加缓存、拆服务或换数据库。没有测量,这些改动通常只带来心理安慰,也可能引入新的复杂度。性能问题还经常出现在“看起来没问题”的位置:一次渲染阻塞、一个 N+1 查询、连接池配置偏小,或是锁竞争让 CPU 看起来并不忙。
性能优化助手 不替代监控和 profiling 工具,它提供一套可重复的排查路径:先明确优化目标和场景边界,再用 profiling 数据定位 CPU、IO 或锁竞争,随后按前端、后端两条线逐项检查,最后通过压测建立基线并量化收益。
它如何工作
核心能力围绕一个朴素流程展开:
- 先测量,再优化:从
profiling、trace、日志或压测结果中寻找真正的瓶颈,而不是从代码注释里猜测。 - 按层级拆解:区分 CPU 密集、IO 等待、锁竞争和资源竞争,避免把所有问题归因于“接口慢”。
- 前端与后端分别处理:前端关注渲染、打包拆分和缓存策略;后端关注慢查询、N+1、连接池和异步化。
推荐的工作步骤如下:
- 明确目标:是缩短 P99、降低资源占用,还是提高吞吐;同时确认可接受的回归范围和停机窗口。
- 复现并采集数据:在测试环境或灰度阶段使用 profiling 工具,记录 CPU、内存、IO、锁等待和请求耗时。
- 逐项定位:先判断瓶颈是 CPU、IO 还是锁竞争;前端检查渲染与资源加载,后端检查查询、连接和并发模型。
- 小步改动并对比:每次只调整一个变量,通过压测结果确认收益,而不是把多个猜测混在一起上线。
- 输出结构化结论:整理成检查清单、问题分级和后续建议,同时保留不确定项。
关键步骤示例
- 前端:用浏览器 trace 找长任务,检查阻塞渲染的脚本,评估代码分割与缓存失效策略。
- 后端:从慢日志和 trace 中定位高频查询,识别 N+1 调用,确认连接池是否成为排队点。
- 对比:为关键接口建立基线,记录优化前后的 P50、P99、吞吐和错误率。
适用边界与注意点
适合在需要结构化方法论和检查清单时使用:性能优化、profiling、前端优化、后端调优、压测和瓶颈定位都在此范围内。
不适合以下场景:
- 需要实时数据、自动连接外部系统或持续在线巡检的任务。
- 必须由持牌专业人士出具确定性结论的领域,例如法律、医疗或财税。
核心红线只有一条:优化必须以测量为准。任何无法通过 profiling、日志或压测验证的改动,都应被视为高风险变更。对工具输出中不确定的指标和结论,需要工程师在真实环境中复核后再落地。
使用场景
- 服务延迟升高时,需要按 CPU、IO 或锁竞争逐层定位瓶颈并输出结构化优化清单
- 前端页面加载慢,需要从渲染阻塞、打包拆分和缓存策略入手找到具体优化点
- 后端接口 P99 偏高,需要排查慢查询、N+1 调用和连接池配置,并对比压测基线
适合人员
- 后端工程师在排查接口高延迟时,需要慢查询、连接池和异步化的结构化排查清单
- 前端工程师在优化页面加载速度时,需要渲染阻塞和打包拆分的可执行步骤
- 测试工程师在准备压测方案时,需要明确基线指标和量化优化收益的方法
- 技术负责人在评审优化方案时,需要避免臆测式改动的红线提醒和适用边界