性能监控
性能监控
合成监控(SYN)
- 如 Lighthouse、audit 等
- 适用于团队自有业务、对性能做定性分析,或配合 CI 做小数据的监控分析
真实用户监控(RUM)
- 如蚂蚁的九色鹿等 (京东的埋点更多的类似是业务级别的)
- 自建或者一些市面上可用的系统
- 适用于中台产品支持前台业务,对性能做定量分析,结合业务数据进行深度挖掘
- 真实用户性能数据采集方案
- 使用标准的 API:performance.timing(已废弃)
- High Resolution Time, HRTime
- performance Timeline API
- 优先抹平 Navigation Timing spec 差异,优先使用 performance Timeline API(polyfill)
- 定义合适的指标
- PLT(Page Load Time):易受到特殊情况影响、FP、FCP、FMP(首次有效渲染:First Meaingful Paint)、SR
- DOM 相关
- Spec 相关
- 算法相关
- 视觉相关
- 根据业务特性及性能监控方案选择最适合的性能指标,必要情况下可使用自定义性能点位
- 采集正确的数据
- 上报页面加载开始时间,以及后续各时间点相对增量,在数据端进行阶段清洗和异常处理
- 上报关联的维度
- 常规维度:时间、页面、浏览器、操作系统、地理位置
- 专业维度:页面是否可见、页面加载方式、等效网络连接类型、是否启用 service worker、是否启用 HTTP/2、是否启用 GXIP 压缩
- 使用标准的 API:performance.timing(已废弃)
- 分析性能监控数据
- 分析性能指标时建议关注百分位数,对性能的要求越高,使用越大的百分位数
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Thatched house!