先看一个可操作的判据:如果同一份内容在流量高峰前能被正常抓取,高峰中只是响应变慢、抓取频次下降,而返回状态码基本不变,这更像资源压力;如果高峰前后都出现同一类固定错误——比如某个目录整批返回 403、404 或 5xx,且与请求量高低无关,就更像配置错误。把这两类证据分开记录,再决定是扩容、限流,还是回滚配置。
不要笼统地看总访问量。你需要两条线:一条是服务器侧的资源曲线(CPU、内存、连接数、磁盘 IO、带宽),另一条是抓取侧的结果曲线(状态码分布、响应时间、抓取频次、抓取到的 URL 类型)。
如果两条线同时抬升,且状态码以 200 和 3xx 为主,只是响应时间变长,通常先按资源压力处理。如果资源曲线平稳,但某一类 URL 的状态码整体翻转,例如产品页正常、筛选参数页全变 404,那更可能是配置或规则变更导致,而不是机器扛不住。
这里有一个容易误判的点:抓取量下降不等于资源压力,也不等于配置正确。它可能是百度在高峰时段主动降低抓取频次,也可能是站点主动限流,还可能是网络链路抖动。单看抓取量归零不能证明任何一方,必须结合状态码和响应时间一起看。
假设你手上有一份高峰时段的抓取日志,按下面顺序处理:
完成这三步后,你会得到一个初步倾向。下一步动作取决于倾向:偏向资源压力,先做限流和缓存,观察状态码是否回到 2xx 为主;偏向配置错误,先回滚最近一次规则或重写变更,再观察同一批 URL 是否恢复。无论哪种,都要记录动作前后的状态码分布,否则下一轮突增时你仍然无法判断。
支持资源压力的证据通常包括:响应时间随并发上升而线性变长;5xx 集中在数据库或应用层超时;静态资源仍能正常返回;高峰过后同一批 URL 自动恢复。支持配置错误的证据通常包括:某一类 URL 在高低峰都返回相同错误;错误状态码与请求量无关;最近有过重写规则、robots.txt、反向代理或权限变更;同一服务器上其他站点正常,只有该站点异常。
还有一种混合情况:高峰触发了资源压力,资源压力又导致健康检查失败,健康检查失败后负载均衡把节点摘除,最终表现为整批 5xx。这时根因仍是资源压力,但配置中的健康检查阈值放大了影响。处理顺序应是先恢复节点,再调整阈值,而不是先改重写规则。
需要提醒的是,robots.txt 的抓取限制不等于可靠的索引移除,它只能控制抓取行为,不能替代页面级处理。站点地图也不保证收录,它只是发现路径之一。HTTPS 同样不保证安全无漏洞或排名,它只是传输层的一种配置。把这些手段当成解决索引异常的万能钥匙,容易在突增期间做出错误决策。
假设某站点在促销日开始后,百度抓取请求从每小时一千次升到五千次。日志显示 5xx 占比从 1% 升到 12%,全部集中在商品详情接口,静态资源仍为 200。低峰时段回放同一接口,5xx 消失。此时按资源压力处理:给详情接口加缓存、限制单 IP 并发,观察两小时。若 5xx 回落到 2% 以内,说明方向正确,下一步是扩容或优化查询;若 5xx 不降,反而出现 403 增多,则要检查是否触发了新的限流规则,那属于配置层面的二次问题。
反过来,假设同一站点资源曲线平稳,但所有带 ?page= 的列表页在高峰前后都返回 404。回放低峰请求仍然 404,且最近修改过重写规则。此时按配置错误处理:回滚重写规则,再抽查同一批 URL。若恢复 200,说明根因是规则错误,资源压力只是同时发生的干扰项。
区分清楚之后,动作才有针对性。资源压力对应的是限流、缓存、扩容和降级;配置错误对应的是回滚、修正规则和重新验证。两者都要求你保留高峰前后的状态码分布和响应时间样本,否则下一次突增时你只能重新猜。
最后,不要用单一指标下结论。请求量、抓取量或某项统计归零,可能来自限流、网络中断、规则变更或对方调度,不能单独证明你的处理正确。把资源曲线和抓取结果放在一起看,再决定是扩容还是回滚,这才是突增期间最稳的判断路径。