先给结论:如果突增流量主要来自真实用户或推荐位,且服务器响应时间随并发上升而变慢、错误以超时和 5xx 为主,优先按资源压力处理;如果响应时间没有明显恶化,却集中出现 404、403、重定向循环或抓取工具被拒绝,优先按配置错误排查。这个判断有一个前提:你至少能拿到访问日志、状态码分布和服务器资源曲线。如果连状态码都看不到,或者突增期间刚好改过 robots.txt、CDN 规则、防火墙,那么“先扩容”这个结论会失效,因为配置变更本身就可能制造出类似流量冲击的假象。
访问量突增时,最容易误导人的是总请求数。资源压力和配置错误都会让请求数上升,但状态码分布不同。资源压力通常表现为 5xx 上升、超时增多、响应时间拉长,而 404 和 403 的比例未必同步放大。配置错误则相反,往往在流量正常时就已经有少量异常,突增只是把它放大,表现为某一类 URL 批量返回 404,或某个目录集中返回 403。
实际操作:按小时拉出状态码分组,比较突增前后各状态码的占比。如果 5xx 占比从低位升到明显高于平时,同时 404 占比基本不变,资源压力的可能性更大。如果 404 或 403 占比同步跳升,并且集中在同一批路径上,先查配置。
资源压力下,服务器仍在处理请求,只是处理得更慢。配置错误下,很多请求根本没进入应用层,可能被 CDN、防火墙或重写规则直接挡掉,所以响应时间反而很短。这两种信号指向完全不同的下一步。
注意一个容易误判的情况:如果突增流量里有大量爬虫,而 robots.txt 或防火墙刚好把爬虫挡掉,日志里可能出现大量 403,但服务器资源其实很空闲。这时按资源压力扩容没有意义,应该先确认抓取限制是否符合预期。
突增期间如果发现某些页面从搜索结果里消失,不要直接归因于流量压力。robots.txt 的抓取限制不等于可靠的索引移除,它只影响抓取,不保证页面立即从索引中消失;反过来,页面被移除也可能来自其他原因。站点地图也不保证收录,提交了不等于会被抓取和索引。
判断动作:先确认这些页面是“抓不到”还是“抓到了但没被索引”。如果日志里对应 URL 的抓取请求变成 403 或被 robots.txt 拒绝,问题在抓取限制;如果抓取正常但索引状态变化,问题在页面本身或配置。两种情况的下一步完全不同,前者改抓取规则,后者查内容、规范化和状态码。
假设某站点在突增期间把 CDN 缓存规则从“缓存静态资源”改成“缓存全部响应”,同时上游返回 500 的页面被缓存。此时日志里 5xx 可能看起来减少了,但用户看到的是旧错误页。这个例子说明:状态码统计要结合缓存层看,否则会把配置错误误判成压力缓解。假设不成立的条件是缓存规则没有改动,或者缓存不缓存错误响应。
先做一个可回退的动作:临时提高资源上限,同时保留配置快照。如果扩容后 5xx 和响应时间明显回落,说明资源压力是主因,下一步应做容量规划,而不是继续改配置。如果扩容后异常状态码比例不变,说明压力不是主因,应回退扩容,转向检查最近的配置变更、CDN 规则和抓取限制。
另一个动作是隔离一小部分流量做对照:让一部分请求绕过 CDN 或防火墙直连源站。如果直连正常而经过 CDN 异常,问题在边缘配置;如果两者都异常,问题在源站或应用层。这个对照结果直接决定下一步是改边缘规则还是查应用资源。HTTPS 不保证安全无漏洞或排名,所以不要把证书正常当作配置无误的证据,也不要把 HTTPS 当成排除故障的终点。