性能优化专题总结(持续更新)

74 阅读3分钟

一、指标定义

学性能优化,首先从指标开始。日常工作和面试中需要熟悉掌握的指标有9个,3个官方核心指标,3个实践核心指标,3个补充指标。

指标类型示例指标用户感知优化优先级
官方核心LCP、FID、CLS加载完成感、交互响应、视觉稳定最高(影响 SEO)
实践核心FP、FCP、TTI白屏时长、首屏内容、可交互性次高
补充指标TTFB、DCL、FMP服务器响应、DOM 可用时间按需关注

1、官方定义的核心性能指标(Web Vitals),直接影响用户体验和 SEO:

指标定义归属
LCP最大内容元素加载并渲染完成且位于视口内的时间点。官方核心指标(W3C)
FID用户首次交互到响应的延迟时间。官方核心指标(W3C)
CLS累积布局偏移,衡量视觉稳定性。官方核心指标(W3C)

LCP:最大内容元素加载并渲染完成且位于视口内的时间点,反映用户视觉上认为页面 “加载完成” 的时间。

FID:First Input Delay,用户首次交互到响应的延迟时间。

  • FID计算 是从用户输入事件(如 mousedownkeydown 等)触发的时间点开始,到浏览器主线程能够处理该事件的时间点结束。
  • 这个延迟主要是由于主线程在处理其他任务(如执行 JavaScript 代码)而无法及时响应用户输入所导致的。

CLS:Cumulative Layout Shift,用于衡量页面在加载过程中发生的布局偏移的累积量。

  • 当页面中的元素在加载过程中突然改变位置、大小或出现新元素时,就会导致布局偏移。
  • CLS 是所有这些布局偏移的累积分数,分数越高,表示页面的布局越不稳定。

2、实践中业内公认的核心指标,常用于性能监控:

指标定义适用场景
FP浏览器首次绘制任何像素的时间点。白屏结束标志
FCP首次渲染有意义内容(文本 / 图像)的时间点。首屏内容加载速度
TTI页面达到可交互状态的时间。交互流畅度

FP: First Paint,FP 是浏览器首次将任何像素绘制到屏幕上的时间点,可能包括背景色、渐变、文本或图像。行业共识 白屏时间 以 FP 为分割线。

FCP: First Contentful Paint, 浏览器开始渲染首个有实际含义的内容块(如文本、图像、非空白 <canvas>),可以作为首屏加载开始的时间分割线。

TTI: Time To Interaction, 页面达到可交互状态的时间,即主线程空闲(无长任务)且页面能响应用户输入(如点击、滚动)的时间。

3、按需关注的补充指标

指标定义适用场景
TTFB服务器返回第一个字节的时间。服务器的响应速度,来自官方标准(HTTP 规范)
DCLDOMContentLoaded 事件触发时间。DOM 加载完成的时间点,官方标准(HTML 规范)
FMPFirst Meaningful Paint,首个完整内容块渲染完成的时间点。传统性能监控(逐渐被 LCP 替代)