435 字
2 分钟
07 · 性能指标

没有度量就没有优化#

“感觉有点慢”无法指导优化。Core Web Vitals 把体验拆成可量化指标,达标才算好。


关键指标#

指标衡量好的阈值
TTFB服务器响应首个字节耗时< 800ms
FCP首次绘制任意内容< 1.8s
LCP最大内容(如大图/标题)绘制完成< 2.5s
CLS布局稳定性(视觉跳动)< 0.1
INP交互响应延迟(替代 FID)< 200ms
  • LCP 关注”用户看到主要内容多快”——常受大图、阻塞渲染的 JS 影响。
  • CLS 关注”页面稳不稳”——图片无宽高、字体闪烁、插入内容都会导致跳动。
  • INP 关注”点了有没有反应”——长任务占主线程是主因。

采集方式#

  • Lighthouse:实验室数据,本地跑分、查瓶颈(DevTools 自带)。
  • web-vitals 库:采集真实用户(RUM) 数据,反映真实环境。
  • CrUX / 监控平台:聚合全量用户的字段数据,看长期趋势。

实验室数据(Lighthouse)找问题,真实字段数据(RUM)验效果。两者结合。


指标驱动优化#

  • LCP 差 → 优化首屏大图(压缩/优先加载/预加载)、削减阻塞 JS。
  • CLS 差 → 给图片/广告位预留尺寸、font-display: swap 减少字体跳动。
  • INP 差 → 拆分长任务、用 Web Worker 移出主线程(下篇)。

小结#

  • 核心指标:LCP(加载)、CLS(稳定)、INP(交互)。
  • 阈值:LCP<2.5s、CLS<0.1、INP<200ms。
  • Lighthouse 找瓶颈,RUM 验真实效果。
  • 先测指标,再针对性优化,避免盲调。

练习#

  1. 用 Lighthouse 给你的页面跑分,记录 LCP/CLS/INP,找出最差的一项。
  2. 故意去掉一张大图的宽高属性,观察 CLS 变差;补回后恢复。
  3. 在页面接入 web-vitals 库,打印真实用户的 LCP 值。
07 · 性能指标
http://117.72.32.87/blog/posts/browser-roadmap-07-metrics/
作者
Ethan
发布于
2026-10-01
许可协议
CC BY-NC-SA 4.0