如果查询工具每天只跑一次,短时异常往往已经被平均掉;此时不要指望调高阈值来“补回来”,而应先用可重复的定点采样确认异常是否存在,再决定是换工具、加采样,还是把判断口径改成能容忍稀疏数据的形式。是否值得加采样,取决于异常持续多久、你能否接受漏报,以及后续动作是否可逆。
采样频率低,最先要区分的是异常形态。持续数小时以上的变化,日频采样通常能留下痕迹;只持续几分钟到一两小时的脉冲,日频很可能只看到一条平线。
可用的证据是:同一指标在前后两天的值是否出现方向一致的偏移,以及偏移是否集中在某个固定时段。如果两天都偏高,更像持续型;只有一天偏高且无法复现,更像脉冲或噪声。
假设某页面在凌晨两点出现短暂抓取失败,日频工具当天汇总仍显示正常。这时把日频结果当成“没有异常”是错的,因为汇总口径已经把它平均掉了。这个例子只用于说明平均化的影响,不代表任何具体工具的实际行为。
如果异常对应的动作可以撤销,比如临时调整了某段内容、改了内链或提交了变更,优先做定点采样,而不是立刻更换整套查询方案。
实施动作:在异常可能出现的时段内,手动或脚本化地按固定间隔记录同一指标,间隔先设为你怀疑的异常持续时间的一半左右。记录时保留原始时间戳,不要只存当天汇总值。
结果如何影响下一步:如果定点采样连续多次都复现异常,说明它真实存在,下一步才值得投入更高频的采集;如果一次都没复现,先怀疑是偶发波动或单次抓取问题,不要据此改动内容策略。
边界在于:定点采样只覆盖你选定的时段和对象,不能外推到全站。个别样本成立,不等于规模化后每个页面都成立。
如果异常一旦发生就会造成不可逆后果,比如已删除的页面、已下线的入口、已提交且无法撤回的变更,那么“先采样确认”本身就有风险,应把采样频率提到能覆盖异常窗口的水平。
选择依据是异常窗口与采样间隔的比值。若异常可能只持续十分钟,而采样间隔是一小时,漏报几乎不可避免;此时要么缩短间隔,要么改为事件触发式记录。
实施动作:把采样间隔设为异常窗口的三分之一到一半,并同时记录触发条件。这样即使某次采样失败,也能从相邻记录推断异常是否延续。
需要接受的代价是数据量和维护成本上升,且高频数据更容易混入噪声。因此提高采样后,仍要保留一个较低频的对照口径,用来判断变化是真实的还是采样本身带来的。
单页或单关键词上成立的采样结论,放到成百上千个对象上常会失效,原因通常有三个。
因此规模化前,先用一小批对象验证采样方案能否稳定复现同一个异常。只有复现率可接受,才值得推广到全量。
需要提醒的是,请求量、抓取量或某项统计归零,并不能单独证明你的处理正确,它也可能是采集端故障、对象被过滤或口径变更造成的。具体工具的采样能力、间隔下限和计费方式需要以你实际使用的工具说明为准,不要照搬本文的假设数值。最终判断应回到一个问题上:这个异常如果漏掉,后续动作是否还能撤回;能撤回就先用定点采样换取确定性,不能撤回就先用更高频采样换取覆盖率。