性能分析(Performance Profiling)是一套围绕 Web 性能的工作流技能,核心理念是“测量、分析、优化,且严格按此顺序进行”。
用途与原则 该技能用于指导开发者系统地发现和解决性能问题,强调先进行测量建立基线,再定位真正的瓶颈,最后做有针对性的修复并验证效果,避免凭猜测优化或过早进行微优化。其核心原则是:最快的代码是不运行的代码,应先移除再优化。
主要能力
- Core Web Vitals 指标参考:给出 LCP(加载)、INP(交互性)、CLS(稳定性)三项指标的良好与较差阈值。
- 分阶段测量建议:开发阶段使用本地 Lighthouse,CI/CD 阶段使用 Lighthouse CI,生产阶段使用 RUM(真实用户监控)。
- 四步分析流程:基线(测量当前状态)→ 定位(找到瓶颈)→ 修复(做针对性修改)→ 验证(确认改进)。
- 工具选择指引:针对页面加载、包体积、运行时、内存、网络等不同问题,分别对应 Lighthouse、包分析器、DevTools 的 Performance/Memory/Network 面板。
- 包体积分析:识别大型依赖、重复代码、未使用代码和缺失代码分割等问题,并给出按需导入、去重与升级版本、路由级代码分割、tree shake 等优化动作。
- 运行时性能分析:通过 Performance 面板识别长任务(大于 50ms)、大量小任务、布局与绘制开销、脚本执行等模式。
- 内存分析:通过 Memory 面板识别堆增长(可能的泄漏)、大对象保留、游离 DOM 等模式。
- 常见瓶颈与快速收益清单:按症状归纳原因,并给出启用压缩、图片懒加载、路由代码分割、静态资源缓存、图片优化等优先级清单。
- 反模式提醒:不要猜测问题、不要微优化、不要过早优化、不要忽视真实用户数据。
使用方式
技能附带运行时脚本,可用于自动化分析。例如执行 python scripts/lighthouse_audit.py https://example.com 可对指定 URL 运行 Lighthouse 性能审计。其余流程主要依赖 Lighthouse、包分析器和浏览器 DevTools 的各项面板手动完成。
适用场景 适用于 Web 前端性能审计与优化,包括首屏加载慢、交互响应慢、滚动卡顿、内存持续增长等问题的排查,以及包体积治理和 CI/CD 中的性能回归监控。
限制 该资料为性能分析的方法与流程指引,未提供具体框架集成方案、脚本内部实现细节及更多脚本的用法;部分指标阈值与工具建议属于通用实践,实际效果需结合具体项目测量验证。