一句话回答
数据延迟是一个事件(比如一次浏览或一笔购买)发生,到它可以被查询或在报表里看到之间的时间。数据新鲜度是与之相关的另一个问题:报表里最新的数据有多新。
公式: 端到端延迟 = 采集等待 + 传输 + 入库排队 + 处理 + 报表缓存
什么是数据延迟?
数据延迟是从一件事发生(一次点击、一次浏览、一笔付款)到你能在数据里看到它,需要多久。延迟低,看到的是接近实时的画面;延迟高,你看到的永远是过去。
新鲜度是同一件事在读者这一侧的样子:这张图上最新的数据有多旧?一份报表事件延迟很低,但如果一小时才刷新一次,新鲜度也不高。
延迟从哪来
一条示例统计链路(延迟为示例):
| 环节 | 发生了什么 | 常见延迟 |
|---|---|---|
| 采集 | 脚本攒批发送,或等页面隐藏再发 | 0–30 秒 |
| 传输 | 请求到达采集端 | 不到 1 秒 |
| 入库 | 事件排队、校验 | 几秒 |
| 处理 | 切分会话、过滤机器人、汇总 | 几秒到几分钟 |
| 报表缓存 | 为了速度缓存结果 | 几分钟 |
有些值按设计就只能事后才知道:页面停留时长要等访客离开,Web Vitals 在页面隐藏时才上报,会话要不活跃一段时间后才算结束。
哪些报表需要实时
| 需求 | 可接受的延迟 |
|---|---|
| 上线日、正在跑的活动、检查安装 | 秒级 |
| 流量下跌或报错激增的告警 | 分钟级 |
| 日报和周报 | 小时级 |
| 月度和战略决策 | 一天也可以 |
处处追求实时既花钱又添噪声。「今天」的数据还不完整,也很容易被误读成下跌。
怎么检查
发一个把当前时间作为属性的测试事件,记下它什么时候出现。在高峰时段再测一次。
在 TapCub 里,打开网站几秒内,网站统计 › 实时的真人动态里就会出现这次测试浏览;「当前在线」统计的是最近 5 分钟内有事件的访客。参见实时。
这个解释清楚吗?
我们会根据反馈修改和补充这篇内容。
提交没有成功,请稍后再试。
谢谢你的反馈,我们会据此改进这篇内容。你已经反馈过这篇了,谢谢。
