Load/DOMContentLoaded;FP/FCP;LCP;FID;CLS;lighthouse。
疑问
-
摘要&心得
文中介绍了一个性能守卫系统(基于lightHouse),但是这个性能守卫系统依旧以首屏加载为主,想测具体的交互开销是不行的。
- 详细的架构设计和代码不做阅读,因为本质上未能解决核心诉求:交互性能测试。只测首屏意义不大(产品特性导致)
- 性能守卫理论基础
- Load/DOMContentLoaded 事件
- FP/FCP 指标
- LCP(Largest Contentful Paint)
- 视口内可见的最大内容元素的渲染时间
- 比如,如果页面渲染前有一个 loading 动画,那么 FCP 可能会以 loading 动画出现的时间为准,而 LCP 定义了 loading 动画加载后,真实渲染出内容的时间。
- FID(First Input Delay)
- 用户和页面进行首次交互操作所花费的时间
- CLS(Cumulative Layout Shift)
- 越小越好
- 衡量视觉稳定性
- 监控素材
- 真实用户监控(Real User Monitoring,RUM)
- 可能影响用户访问性能、产生额外网络开销
- 合成监控(Synthetic Monitoring,SYN)
- 实验室数据
- 数据量小、模拟条件配置复杂
- 真实用户监控(Real User Monitoring,RUM)
- lighthouse
- 提供了四种使用方式,分别是:
- Chrome DevTools
- Chrome 插件
- Node cli
- Node module
- 性能守卫系统中,采用 Lighthouse 的后两种使用方式(Node.js cli/ Node.js 模块)进行性能跑分
- 提供了四种使用方式,分别是: