先看一个可操作的判据:如果收录查询接口或站内日志的响应时间随并发上升而线性恶化,但返回内容本身正确,通常是资源压力;如果响应时间正常、错误率却集中在某一类请求或某一批 URL 上,配置错误更可能。两者都可能表现为访问量突增,但处理顺序完全不同——把配置错误当成容量问题扩容,只会掩盖故障点。
访问量突增时,收录查询相关系统常出现两种截然不同的坏法。第一种是慢:查询能返回,但延迟从几十毫秒涨到几秒,超时开始零星出现。第二种是错:响应很快,但某一类 URL 返回 403、404 或空结果,比例突然升高。这两种现象经常同时出现,导致运维第一反应是“机器扛不住”,于是加机器、加缓存,结果错误率没降,反而因为新节点配置不一致又多了新的错误来源。
要区分,先要承认一个前提:突增的访问量本身可能来自真实用户、爬虫重抓,或某个上游系统重试风暴。这三种来源对资源压力和配置错误的敏感度不同,所以第一步不是扩容,而是把流量按来源和 URL 模式拆开看。
资源压力的典型证据是劣化是全局的、与请求内容无关。数据库连接池打满、磁盘 IO 饱和、带宽占满、CPU 排队,这些瓶颈会让所有请求一起变慢,不管请求的是哪一批 URL、来自哪个来源。你可以观察:
如果符合这几条,扩容、限流、加缓存是合理动作。但要注意,限流之后如果错误率不降,说明瓶颈不在容量,而在别处。
配置错误的典型证据是失败集中在特定模式上,且与流量大小不成比例。比如 robots.txt 被改动后,某类路径整体返回 403;反向代理规则写错,带查询参数的 URL 全部 404;缓存键配置不当,某一批 URL 反复击穿回源。这类问题的特征是:
这里有一个容易踩的坑:robots.txt 的抓取限制不等于可靠的索引移除。如果突增期间有人改了 robots.txt 来“减压”,可能导致爬虫停止抓取,但这并不等于页面会从索引中消失,也不等于收录查询结果会按预期变化。用抓取限制去解决索引问题,方向就错了。
假设一次突增中,收录查询接口的 P99 从 200ms 涨到 3s,同时 404 比例从 0.5% 涨到 8%。可以这样拆:
一个实际动作:先对失败率最高的那一类 URL 做单独回放测试,而不是先扩容。回放结果会直接决定下一步——仍然失败就去查配置和变更,恢复正常就把精力放回容量和限流。这个顺序能避免在错误方向上浪费扩容窗口。
旧内容、旧系统或旧合作关系退出阶段,常需要保留仍有价值的部分、下线其余部分。此时访问量突增往往来自重定向、历史链接回访或爬虫重抓。如果错误集中在被下线的路径上,那是预期内的配置结果;如果错误蔓延到保留部分的 URL 上,说明退出配置影响了不该影响的范围,这时要优先回滚配置而不是扩容。HTTPS 不保证安全无漏洞或排名,退出阶段把问题归因于“没上 HTTPS”同样是误判。
不同搜索引擎对 robots.txt、站点地图和索引移除的支持情况须分别核查,不能拿一个引擎的表现推断另一个。把上述对照观察固定成一套检查顺序,下次突增时就能先分清是扛不住还是配错了,再决定扩容还是改配置。