常见 Web 性能指标包括 Google 提出的 Core Web Vitals:LCP(Largest Contentful Paint,最大内容绘制,衡量加载,良好 ≤2.5s)、INP(Interaction to Next Paint,交互到下一次绘制,衡量响应性,良好 ≤200ms,已取代 FID)、CLS(Cumulative Layout Shift,累积布局偏移,衡量视觉稳定性,良好 ≤0.1)。传统指标还有 FP/FCP(首次绘制/首次内容绘制)、TTFB(首字节时间)、TTI(可交互时间)、DCL(DOMContentLoaded)、Load 完成时间。

首屏时间的衡量:没有统一标准定义,常用做法:一是用 FCP 或 LCP 近似,通过 PerformanceObserver 监听 largest-contentful-paint 拿到 LCP 时间,最贴近用户感知;二是自定义打点,在首屏关键内容渲染完成后记录 performance.now(),与 navigationStart 的差值即首屏时间;三是用 MutationObserver + 算法估算(如监控首屏区域 DOM 变化稳定点)。

实践中一般用 RUM(真实用户监控)SDK 采集 LCP、CLS、INP 并上报,结合分位数(P75)评估。追问方向:为什么用 P75 而不是平均值、SPA 路由切换如何衡量、Web Worker 中如何计时。