很多人看抓取量,习惯数“蜘蛛今天来了多少次”。但真正决定一个页面多久被重抓的,往往不是访问次数,而是同一时间蜘蛛能对你这个域名开几条连接,以及每条连接会被占用多久。
抓取并发是什么
蜘蛛抓取一个站点时,通常不会只派一个进程慢慢爬。它会维持一个针对该域名的并发上限,也就是同时向你的服务器发起的请求数量。这个上限不是固定数字,搜索引擎会参考服务器响应速度、历史抓取成功率、站点规模等因素动态调整。
关键在于:并发数乘以单次抓取速度,才是单位时间内的抓取量。如果一次响应要 2 秒,而并发只有 4,一小时的抓取量就非常有限;把响应压到 200 毫秒,同样的并发下结果会明显不同。
为什么常常只看到“几条连接”
- 响应太慢:连接被长时间占用,新 URL 只能排队,表现上就是“来得少”。
- 域名级配额:搜索引擎会为每个域名设定抓取额度,超出部分顺延。
- 服务器或 CDN 主动限速:WAF、防火墙、限流策略把请求拦下或延迟,蜘蛛会顺势降低频率。
- 错误率偏高:5xx 与超时集中出现时,蜘蛛通常选择退避,而不是硬冲。
- 站点本身量小:新站或页面数量少的站点,分配到的并发基数本来就不高。
怎么从日志里看并发
不需要复杂工具,按时间粒度统计即可:
- 从访问日志中筛出蜘蛛 UA 的记录;
- 按秒或十秒分组,统计同一时刻的请求数,这就是实际并发的大致形态;
- 同时看这些请求的响应时间分布,特别留意少数耗时特别长的请求;
- 观察高并发时段是否伴随 5xx 或超时,判断服务器是否被压到了。
如果并发曲线长期平在很低的位置,而站内可抓 URL 又很多,通常不是蜘蛛“不喜欢”,而是你的服务器让它快不起来。
拖慢并发的常见原因
- 动态页面每次都要查库、拼模板,首字节时间(TTFB)偏高;
- 页面里嵌了大量需要二次请求的资源,会推高整体负载;
- 服务器连接数配置偏小,大量请求在排队;
- CDN 回源策略不当,每次抓取都穿透到源站;
- 安全策略对陌生 UA 或高频 IP 直接拦截,返回 403 或验证页。
可以动手调整的地方
- 先把 TTFB 降下来:加缓存、做静态化、优化慢查询,这是最直接提升抓取量的方式。
- 让常见错误消失:把 5xx 和超时压到很低,蜘蛛才愿意提高并发。
- 别轻易对蜘蛛限速:确实需要时,用 429 配合 Retry-After,而不是返回 403 或空白页。
- 保持连接复用:开启 keep-alive、支持 HTTP/2,能减少握手开销。
- 给重点 URL 更好的响应条件:栏目页、列表页这类入口,尽量走缓存。
一个常见误区
有人觉得并发越高越好,于是想办法“催促”蜘蛛。实际上,并发是搜索引擎根据你服务器表现给的,不是站点单方面能要来的。服务器不稳定时强行承受高并发,只会换来更多 5xx,让后续抓取更保守。
抓取量不是靠喊出来的。把响应时间做稳、把错误率做低,蜘蛛自然愿意在你这里多开几条连接。