performance-optimization

优化前端、后端、查询和数据库的应用性能。在存在性能要求、怀疑性能回退、需要改进 Core Web Vitals 或加载时间、需要修复 N+1 查询模式,或性能剖析发现瓶颈时使用。

提供方:addyosmani/agent-skills调用次数:1.9k收藏:203更新:2026/08/28

技能说明addyosmani/agent-skills

优化前端、后端、查询和数据库的应用性能。在存在性能要求、怀疑性能回退、需要改进 Core Web Vitals 或加载时间、需要修复 N+1 查询模式,或性能剖析发现瓶颈时使用。

技能简介

本技能用于优化前端、后端、查询及数据库的整体应用性能。它遵循「先测量、后优化」的原则,帮助定位真实瓶颈并精准修复,避免缺乏数据支撑的过早优化。

使用场景

  • 需求中明确包含性能要求(如加载时间预算、响应时间 SLA)
  • 用户或监控系统报告页面/接口响应缓慢
  • Core Web Vitals 指标(LCP、INP、CLS)低于目标阈值
  • 怀疑代码变更引入了性能回退
  • 需要处理大数据集、高流量场景,或修复 N+1 查询模式

使用方法

本技能作为 Claude Code 的 Skill 使用,在遇到上述场景时按以下工作流逐步执行:

1. MEASURE  → 用真实数据建立基线
2. IDENTIFY → 找到实际瓶颈(而非主观猜测)
3. FIX      → 针对特定瓶颈进行修复
4. VERIFY   → 再次测量,确认效果或回退
5. GUARD    → 增加监控或测试,防止性能回退

测量方式: 综合使用 Synthetic 与 RUM 两类手段。

  • Synthetic(Lighthouse、DevTools Performance 面板):条件可控、结果可复现,适合 CI 回归检测和问题隔离。
  • RUM(web-vitals 库、CrUX):采集真实用户数据,用于验证修复是否真正改善了用户体验。

性能目标参考(Core Web Vitals):

指标良好需改进较差
LCP(最大内容绘制)≤ 2.5s≤ 4.0s> 4.0s
INP(下次绘制交互)≤ 200ms≤ 500ms> 500ms
CLS(累计布局偏移)≤ 0.1≤ 0.25> 0.25

常见反模式修复:

  • N+1 查询:使用 include/join 合并为单次查询
  • 无界数据获取:改用分页查询(take/skip
  • 图片未优化:为图片添加尺寸属性,使用合适格式与响应式加载

注意事项

没有证据表明存在性能问题时,不要进行优化。过早优化会增加代码复杂度,其维护成本往往超过性能收益。所有优化都应以测量数据为依据,修复后务必再次测量验证。