判断是否需要回退,不看改动本身是否“先进”,而看它是否让约定的验收指标变差、且无法在可接受时间内修复。具体做法是:上线前先定好可观测指标与阈值,上线后对比同一人群、同一页面类型、同一时间段的基线与现状;一旦核心指标越过阈值并持续到约定观察窗口,就回退,而不是边查边等。
多人协作最容易返工的地方,是上线前没人写清“什么算变差”。交付结果应当包含三样东西:指标、阈值、观察窗口。缺少任何一项,回退决定就会变成争论。
这三项要写进交付说明,并由改动方、验收方共同确认,避免事后各拿一套口径。
速度问题受网络、设备、地域、缓存状态影响很大,单看一次测量没有意义。可行的方法是做分层对照:
如果改动后核心指标的分位数明显高于基线,且差异在多个时段重复出现,才具备回退依据。单次波动、样本过少、缓存未生效造成的异常,应先排除再决定。
指标变差不等于改动本身有错。常见解释有几类,需要分别验证:
只有能通过对比、回放或分段禁用把原因收敛到某一项时,才算“已经定位”。如果只是猜测,就属于“可能原因”。回退决策依据的是影响程度和修复成本,而不是原因是否查清:影响面大、修复时间超过观察窗口,就先回退再排查。
回退本身也是一次交付,需要留下可核对记录,减少下一轮返工:
验收时用与上线前相同的指标、阈值和观察窗口,不要临时放宽标准。若回退后指标仍未恢复,说明变差可能来自其他并行改动或外部因素,需要继续按同一方法排查。
假设某次改动把首屏图片改为延迟加载,上线前约定移动端最大内容绘制中位数不得劣化超过 10%,观察两个完整自然日。上线后第一天该指标比基线慢 18%,第二天仍慢 15%,且功能与缓存状态均正常。此时可判定越过阈值并持续,执行回退。若只慢 4%,或只在某一小时出现尖峰,则先继续观察并核对采集口径,不必立即回退。以上数值仅为示例,实际阈值应按自身基线与业务容忍度设定。
下一步:把当前项目的指标、阈值、观察窗口和回退责任人写成一张交付清单,与改动方确认后再上线,这样每次判断都有共同依据,而不必事后争论。