这类问题我又碰上了一次。百度搜索资源平台的索引量曲线每天下午三点左右下探 800 条上下,第二天早上又回到原水平。站点没有删文章,日志里 Baiduspider 的抓取量也平稳,客服回复说属于正常波动,但连续两周都卡在同一个时间点。

第一反应是「站点有定时任务在下午重建缓存 蜘蛛正好读到 503」,验证下来不成立。

真正麻烦的地方在于,几个原因的现象几乎一样。索引量按分片统计 各分片回传时间不同 曲线先掉后补;平台展示的是前一天的快照 与当天删除量对不上;部分列表页翻页被临时下线 索引先摘除再恢复。

第一件事是统计同一时段的 5xx 数量

awk '$9>=500 && $9<600' access.log | wc -l

接着核对定时任务的执行时间

crontab -l | grep -i rebuild

然后用百度 UA 请求列表页看状态码

curl -s -o /dev/null -w '%{http_code}\n' -A 'Baiduspider' https://www.example.com/list/

末了把缓存重建任务挪到凌晨两点

0 2 * * * /usr/local/bin/rebuild_cache.sh

怎么算真的好了,看的是同一批现象。连续一周下午三点不再出现 800 条的缺口,索引量曲线回到平滑,才算排除站点侧原因。

这里还有个坑。平台的索引量是抽样估算,短期几百条的起伏说明不了问题,只有连续多天单边下跌才值得查。这类问题最好一次改到位,反复小改反而容易把原因搅混。

作者 9823189