Performance API 是浏览器原生性能分析工具,可精准定位加载瓶颈,拆解DNS、TCP、SSL、TTFB、渲染等阶段耗时,结合预连接、预加载、异步化及真实用户监控实现全链路优化。
Performance API 是浏览器原生提供的性能分析工具,不依赖第三方库就能精准定位加载瓶颈。它不测内存,但能把从输入 URL 到首屏渲染的整个链路拆解成可量化的阶段,帮你把优化落在实处。
页面加载不是黑盒,而是由 DNS、TCP、SSL、TTFB、资源下载、解析、渲染等环节组成。关键不是看总时间,而是看哪一段拖得最久:
浏览器默认是“按需发现”,但核心业务不能等它慢慢找。要主动告诉浏览器哪些资源最关键、来自哪里:
<head> 中加 <link rel="preconnect" href="https://api.example.com">,提前完成 DNS、TCP、TLS 连接;<link rel="preload" as="script" href="checkout.js">,避免 parser 发现晚、下载滞后;<link rel="prefetch">,利用空闲带宽提前拉取;Cache-Control: public, max-age=31536000,配合内容哈希命名,实现长期强缓存。很多“白屏久”不是网络慢,而是 JS 在主线程上同步执行太久,阻塞了渲染。优化重点是减少初始化阶段的负担:
import 改为 dynamic import(),首次交互时再加载;window.onload 或 DOMContentLoaded 里堆砌大量同步逻辑,改用 requestIdleCallback 或微任务调度,让出主线程给渲染;performance.mark() 和 performance.measure() 标记关键节点(如“下单按钮点击”到“弹窗显示”),量化业务逻辑执行耗时,而非只盯页面级指标。Lighthouse 和 Performance 面板适合调试,但真实用户环境千差万别。要把 Performance API 数据上报到监控系统:
duration > 2000ms)自动告警,并附带 transferSize 和 nextHopProtocol(是否用了 HTTP/2);