跳到主要内容

性能分析工具

  • Lighthouse:站在“真实浏览器渲染”的角度看性能(FCP/LCP/TBT/CLS/Speed Index 等)
  • curl:站在“网络请求链路”的角度看性能(TTFB、重定向、下载速度、连接耗时等)
  • Chrome DevTools
  • 网页性能指标分析(pagespeed):https://pagespeed.web.dev/

Lighthouse​

Lighthouse 是一款自动化的开源工具,可帮助您提升网页质量。您可以在任何网页(公开网页或需要身份验证的网页)上运行该脚本。该工具可针对性能、无障碍、搜索引擎优化 (SEO) 等方面进行评估

DevTools Lighthouse 对比 Lighthouse Cli​

  • DevTools 版适合“单次人工手动分析”,CLI 版适合“工程化、自动化、团队使用”。
对比项Chrome DevTools Lighthousenpm Lighthouse(CLI)
使用难度✅ 最简单⚠️ 需要 Node 环境
是否适合开发调试✅ 非常适合一般
是否适合 CI / 自动化❌ 不适合✅ 强烈推荐
是否可自定义 config❌ 基本不能✅ 完全可控
是否可批量跑❌ 不能✅ 可以
是否可做性能对比⚠️ 手动对比✅ 可脚本化
是否可自定义审计❌ 不支持✅ 支持

Lighthouse Cli​

bash
npm install -g lighthouse
# 指定地址输出性能报告
lighthouse https://example.com
# 指定本地地址、指定格式输出性能报告
lighthouse http://localhost:3000 --view --locale=zh

参数说明​

常用参数

  • 输出文件路径: --output-path
  • 输出文件语言格式: --locale
  • 打开浏览器:--view
参数作用常见场景示例
--output输出格式:html / json / csv自动化或生成报告--output=html
--output-path输出文件路径CI 或保存报告--output-path=./report.html
--view运行后浏览器自动打开报告本地调试--view
--quiet减少日志输出CI 环境--quiet
--verbose输出详细日志排查问题--verbose
--save-assets保存 trace 和 devtools 日志深度性能分析--save-assets
--locale 指定语言输出语言格式--locale=zh

PageSpeed​

  • PageSpeed Insights 是在单独服务器上运行,对比lighthouse 结果通常会更“干净”、更一致
  • PageSpeed 展示真实用户数据情况
    • 用户打开的数据 和源数据
  • 基于实际数据,也就是网站在真实环境中用户设备上的表现
  • PageSpeed Insights 解决“线上用户实际情况怎么样”。

Performance​

调试性能问题时,更推荐用 Performance 面板,而不是只看 Lighthouse。 因为 Performance 能看到更细的轨迹、主线程长任务、样式计算、LCP 元素、渲染阻塞链路

  • Lighthouse 负责告诉你“哪里可能有问题”
  • Performance 负责告诉你“为什么会慢、慢在哪一段”

curl​

  • curl 不能直接给 FCP/LCP(因为不渲染页面),但能快速知道“慢是不是因为服务端/网络”的问题
  • curl 看 TTFB(服务器首字节时间)
  • curl 看首屏 HTML 是否压缩 & 缓存
    • 压缩与缓存都体现在响应头(headers)
  • 对关键资源逐个 curl
    • Network 里找最大 JS/CSS/首屏大图 URL,对每个都跑一次 curl -w,就能定位是某个大包拖慢还是通用链路慢