这类问题我又碰上了一次。百度搜索资源平台的索引量曲线每天下午三点左右下探 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 条的缺口,索引量曲线回到平滑,才算排除站点侧原因。
这里还有个坑。平台的索引量是抽样估算,短期几百条的起伏说明不了问题,只有连续多天单边下跌才值得查。这类问题最好一次改到位,反复小改反而容易把原因搅混。
