Web前端性能指标

一、前端常用 8 大性能指标

  1. FP(First Paint)首次绘制
  • 是什么:浏览器第一次在屏幕上画出像素(哪怕是背景色)。
  • 衡量:页面从白屏 → 不再白屏的时间。
  • 优化目标:越快越好。
  • 影响因素:HTML 加载速度、TTFB、关键 CSS。
  1. FCP(First Contentful Paint)首次内容绘制
  • 是什么:第一次渲染有内容(文本、图片、svg 等)。
  • 比 FP 更有意义,因为 FP 可能只是个背景。
  • 优化目标:<1.8s 优秀,<3s 可接受。
  • 优化方向:
    • 缩短 TTFB
    • 内联关键 CSS
    • 不阻塞渲染
  1. LCP(Largest Contentful Paint)最大内容绘制(WebVitals 核心)
  • 是什么:视口中最大的那块内容渲染完成时间。
    通常是:首屏大图、大标题、封面图。
  • 最重要的加载体验指标。
  • 目标:≤2.5s 优秀,2.5~4s 需优化,>4s 差。
  • 优化:
    • 图片优化(WebP、压缩、宽高比)
    • 预加载 LCP 图片
    • 减少首屏 JS 阻塞
  1. TTFB(Time To First Byte)首字节时间
  • 是什么:请求发出去 → 收到第一个字节的时间。
  • 代表服务端响应速度 + 网络速度。
  • 目标:<600ms 优秀。
  • 优化:
    • CDN
    • 服务端缓存
    • 接口优化
  1. TBT(Total Blocking Time)总阻塞时间
  • 是什么:主线程任务 >50ms 的阻塞时间总和。
  • 例:一个 210ms 长任务 → 阻塞 160ms。
  • 目标:<200ms 优秀。
  • 优化:
    • 拆长任务
    • 懒执行非关键 JS
    • Web Worker
  1. FID(First Input Delay)首次输入延迟(老核心)
  • 是什么:用户第一次点击 / 输入 → 浏览器开始处理事件的延迟。
  • 衡量交互是否卡。
  • 目标:≤100ms。
  1. INP(Interaction to Next Paint)新核心交互指标(必学)
  • 是什么:全程所有交互的响应速度,取最差的那个。
  • 点击 → 页面更新 的耗时。
  • Google 2024 新核心 Web 指标,完全替代 FID。
  • 目标:≤200ms 优秀。
  • 影响:长任务、回流重绘、JS 执行太久。
  • 优化:
    • 拆长任务
    • 防抖节流
    • 减少同步布局
  1. CLS(Cumulative Layout Shift)累积布局偏移(核心)
  • 是什么:页面加载过程中,元素突然乱跳的总和。
  • 最影响用户体验的指标之一。
  • 目标:≤0.1 优秀。
  • 罪魁祸首:
    • 图片没设宽高
    • 字体闪烁
    • 动态插入广告、弹窗
    • 没给占位容器

二、八大指标

指标 全称 含义 优化目标
FP First Paint 第一次像素 越快越好
FCP First Contentful Paint 第一次内容 < 1.8s
LCP Largest Contentful Paint 最大内容渲染 ≤ 2.5s
TTFB Time To First Byte 服务端首字节 < 600ms
TBT Total Blocking Time 主线程阻塞总时间 < 200ms
FID First Input Delay 首次交互延迟 ≤ 100ms
INP Interaction to Next Paint 全程交互体验 ≤ 200ms
CLS Cumulative Layout Shift 布局偏移 ≤ 0.1

三、关键:它们之间的顺序关系

加载顺序永远是:

  1. TTFB(服务器响应)
  2. FP(第一次画)
  3. FCP(第一次内容)
  4. LCP(最大内容出来)
  5. 然后用户交互:FID / INP
  6. 全程伴随:CLS(布局稳不稳定)
  7. 主线程:TBT(卡不卡)

分类

一、加载类指标
  1. FP(First Paint)首次绘制
    浏览器第一次在屏幕绘制像素,标志页面不再白屏。
  2. FCP(First Contentful Paint)首次内容绘制
    第一次渲染实际内容:文本、图片、SVG 等。
    目标:<1.8s 优秀。
  3. LCP(Largest Contentful Paint)最大内容绘制
    视口中最大内容渲染时间,最重要加载指标。
    目标:≤2.5s。
    优化:图片优化、预加载、减少阻塞。
  4. TTFB(Time To First Byte)首字节时间
    请求发起到收到第一个字节,代表服务端 + 网络速度。
    目标:<600ms。
二、主线程 & 交互类指标
  1. TBT(Total Blocking Time)总阻塞时间
    所有长任务(>50ms)的阻塞时间总和。
    目标:<200ms。
  2. FID(First Input Delay)首次输入延迟
    用户第一次交互到浏览器响应的时间。
    目标:≤100ms。
  3. INP(Interaction to Next Paint)全程交互体验
    2024 新核心指标,替代 FID。
    统计所有交互,取最慢值。
    目标:≤200ms。
三、视觉稳定性指标
  1. CLS(Cumulative Layout Shift)累积布局偏移
  • 页面元素意外跳动的总分值。
  • 目标:≤0.1。
  • 常见原因:图片无宽高、动态插入内容、字体闪烁、无占位。
四、指标出现顺序

TTFB → FP → FCP → LCP → 交互(FID/INP)

全程:CLS、TBT

相关推荐
每天都好困7 分钟前
03 AR 投影与误差修正:把地图上的点贴到视频画面上
前端
每天都好困9 分钟前
04 地图图层封装:像管理 Photoshop 图层一样管理地图元素
前端
去伪存真31 分钟前
构建你的第一个 DevOps AI Agent:自动化捕获、分析并修复 CI 故障
前端·agent
niucloud-admin42 分钟前
JAVA V6 多商户商城 开发文档——手机端前端
java·开发语言·前端
skywalk81631 小时前
deepseekharness在对话中,有四种模式,分别是极简、PTC、创造和标准模式,每种模式下挂载的插件、skill等数量不一样
前端·人工智能·实践
愛芳芳1 小时前
element-plus+vite+vue3+pinpa+mock+typeScript搭建经典的电商管理后台
前端·javascript·typescript
liangshanbo12151 小时前
面试题:常见的前端构建工具有哪些?分别适用于什么场景?
前端
linux_cfan2 小时前
videojs v10 源代码系列解读:30 · `SerialRunner` 与 `ConcurrentRunner`
前端
liangshanbo12152 小时前
面试题:页面需要发起大量 Ajax / HTTP 请求时,如何优化请求性能?
前端·http·ajax
lyz2468592 小时前
vue3页面因参数未声明而报错的常犯错误
前端·javascript·vue.js