不能直接比。上线时间不同的页面,往往处在不同的代码版本、缓存策略和用户结构下,直接拿监控工具里的平均值、分位数或评分横向排名,很容易把“版本差异”误读成“页面质量差异”。要比较,先让两个页面进入同一套可比条件,否则只能做趋势观察,不能做优劣判断。
把差异分成两类,处理方式完全不同。
判断依据不是看时间戳,而是看证据:同一路由在不同版本下是否有不同的资源清单、是否有不同的响应头缓存策略、是否有不同的入口来源占比。如果这些证据都指向版本差异,那横向比较的前提就不成立。
当两个页面能被拉到同一版本基线、且流量来源结构接近时,横向比较是成立的。做法是:
完成这一步后,如果新老页面的分位数差距仍然稳定存在,那这个差距才值得归因到页面实现本身。下一步动作是定位具体资源或接口,而不是继续扩大比较范围。
多数情况下,老页面和新页面无法对齐版本和流量结构。这时正确的动作是:
这样做的影响是:你放弃了“谁更快”的结论,但保留了“谁在变差”的可靠信号。后者对排查更有用,因为它排除了版本差异这个混淆项。
假设页面 A 上线一年,页面 B 上线一周。监控工具显示 A 的加载分位数优于 B。先别下结论。检查后发现:A 的多数请求命中了长期缓存,B 的请求几乎都是首次加载;A 的入口以直接访问为主,B 的入口以站内推荐为主,而推荐位会附带额外的参数和脚本。
在这个假设里,差距来自缓存状态和入口结构,而不是页面实现。动作应该是:把 B 的样本按“是否命中缓存”和“入口来源”分层,再和 A 的同类样本比。如果分层后差距消失,说明之前的横向比较无效;如果分层后差距仍在,才进入资源级排查。
即使比较对象是同一个页面,改版前后同样属于“上线时间不同”。旧版本的数据会混入旧缓存、旧入口和旧用户习惯,直接和新版本对比会高估或低估改版效果。处理方式是给改版设定一个观察窗口,在窗口内只记录变化方向,不做跨版本的绝对排名。窗口结束后,如果指标没有回到改版前的波动区间,再考虑是否与改版有关。
把比较对象限定在“同一版本、同一入口、同一缓存状态”的样本上,是让页面性能监控工具输出可用结论的最低条件;条件不满足时,数据只能用来观察自身趋势,不能用来给页面排优劣。