RUM Session Replay 使用分段上传 + 三层压缩降级来控制开销:数据先缓存到本地 Segment,每积累 200 个事件或每 5 秒 flush 一次;页面 hidden、frozen 或 unload 时立即 flush,避免数据丢失;单会话最长录制 1 小时自动切段。上传前会依次尝试三层方案:优先使用浏览器原生 CompressionStream API(Chrome 80+/Safari 16.4+/Firefox 113+,零额外开销);不支持时降级到 WebWorker + pako deflate(不阻塞主线程,30 秒超时后再降级);极端情况下兜底为原始数据上传,宁慢勿失。实测常规页面 CPU 开销 1–3%,内存增量 2–5MB。




