先给结论:异常恢复后如果同一条URL在两次测量中一次命中缓存、一次回源,指标变化只能说明缓存状态变了,不能证明源站变快。只有当你绕过缓存、直接测到源站响应时间下降,并且这个下降在缓存被主动清除后依然存在,才能把“真正修复”与“缓存过期”分开。缺少完整日志或权限时,最小可行动作是固定一条URL、固定一种缓存状态、连续记录时间点,而不是急着下结论。
关键不是测了几次,而是每次测的是哪一层。你至少要能区分“命中缓存”和“回源”两种状态,否则数据会混在一起。
这两种路径的分界点在于:你能否让同一个资源在“无缓存”状态下被测量。能,就优先测回源;不能,就只能把缓存命中数据当作参考,不能当作修复证据。
真正修复通常伴随可重复的源站响应变化。缓存过期则表现为:清除缓存后指标回落,重新缓存后又变好,源站本身没变。
可以这样区分:
这里有一个容易误判的地方:请求量或抓取量归零,不能单独证明缓存过期或修复正确。它也可能是监控中断、权限变更、URL被临时屏蔽等合理解释。所以指标归零只能作为线索,不能作为结论。
如果你拿不到完整访问日志,也没有缓存控制权限,仍可以执行一个最小动作:固定一条代表性URL,记录三个时间点的回源响应时间——异常发生时、恢复后立即、恢复后间隔一段时间。每个时间点尽量用同一种测量方式,并标注是否可能命中缓存。
这个动作的结果会影响下一步:
假设一个场景:某页面异常时回源响应为800毫秒,恢复后命中缓存为200毫秒,但带随机参数回源仍为780毫秒。此时缓存过期是更合理的解释,因为源站没有实质变化。这个例子只用于说明比较方法,不代表真实项目数据。
有些情况会让上述判断失效。例如源站和缓存层同时被改动,或者测量工具本身受网络波动影响,这时单次回源时间不足以区分原因。更稳妥的做法是保留改动前后的对照记录,并说明每次测量是否绕过了缓存。
另外,页面加载速度优化涉及的资源可能分散在多个域名下。若只测主文档,不测关键CSS、JS和图片,就不能把主文档回源时间下降等同于整页加载速度修复。必要时应分别记录关键资源的回源时间,再判断是否属于同一修复动作。
最后要明确:缓存过期和真正修复可以同时发生。你要做的不是二选一,而是先确认源站是否变化,再确认缓存是否掩盖了变化。只有源站回源时间在无缓存条件下稳定下降,才能把恢复归因于修复,而不是缓存生命周期。