先看时间关系和错误类型:资源压力通常表现为响应变慢、超时、5xx随并发上升而增多,流量回落后自行缓解;配置错误往往在流量突增前后都稳定存在,表现为特定路径、特定状态码或抓取与访问结果不一致。把两者混在一起,最容易做出错误动作——要么在配置有问题的前提下盲目扩容,要么把正常的容量瓶颈当成代码错误反复回滚。
访问量突增时,建议按“时间线—错误分布—单机与集群差异—回退验证”的顺序排查。第一步是拉出突增前后的时间线:如果错误率与并发曲线几乎同步上升、流量回落后同步下降,资源压力的可能性更大;如果错误率在突增前就存在、只是被放大,配置错误的可能性更大。
第二步看错误分布。资源压力通常影响面较广,多个路径一起变慢;配置错误常集中在某类URL、某个目录、某种请求方式或某个状态码上。第三步比较单机与集群:单机压测正常、集群出现异常,更偏向共享资源或调度问题;单机就复现异常,更偏向应用或配置本身。第四步做回退验证:临时降低并发或摘掉部分节点后,如果错误立刻消失,说明容量是主因;如果错误依旧,应继续查配置。
这三种取舍没有绝对优劣,取决于证据指向哪里。
判断的关键不是错误数量,而是错误是否可解释、是否可复现、是否随流量变化。可解释、可复现、不随流量变化的,优先改配置;随流量变化、回落后缓解的,优先处理容量。
假设一个场景:某站点在活动期间访问量上升,同时出现大量抓取请求返回异常。此时可以按下面这组证据区分:
这些动作的结果会直接决定下一步:基线错误率高就先去修配置;路径集中就先去查规则;节点不一致就先去对齐发布;降并发后缓解才考虑扩容。
看到响应变慢或错误增多,不能只归因于资源压力。缓存过期、上游服务抖动、日志写入阻塞、连接池耗尽、DNS解析异常,都可能产生类似现象。同样,看到错误稳定复现,也不能只归因于配置错误,代码缺陷、数据异常、依赖版本变化也可能造成相同结果。
因此,判断时要保留多个解释,并用可观察证据排除。例如,抓取量或请求量下降并不能单独证明配置已经正确,它也可能只是外部访问减少;某个状态码归零也不能单独证明问题已解决,它可能是请求被提前拦截或路径不再被访问。只有把时间线、错误分布、回退验证结合起来,结论才更可靠。
排查过程中常会涉及抓取控制。需要明确:robots.txt 的抓取限制不等于可靠的索引移除,它主要影响抓取行为,不保证页面从索引中消失;站点地图不保证收录,它只是辅助发现;HTTPS 不保证安全无漏洞或排名提升。不同搜索引擎对这些机制的支持情况须分别核查,不能用一个平台的表现推断另一个平台。
当访问量突增与抓取异常同时出现时,优先确认是抓取端行为变化,还是服务端响应能力变化。前者通常表现为请求来源、频率或路径分布改变;后者通常表现为响应时间、错误率和资源占用改变。两类变化的处理动作不同,混在一起处理容易把配置问题误判为容量问题,或反之。