先看“突增是否只影响一类请求”。如果动态页面变慢而静态图片仍正常,更像资源压力;如果所有请求同时出现固定状态码或连接被拒,配置错误或上游限制的可能性更大。这个判断决定你是扩容、改配置,还是先回滚。
资源压力通常有梯度:并发升高后,响应时间先拉长,随后部分请求超时,但同一时刻仍有一部分请求能正常完成。配置错误往往边界整齐,比如某一类URL全部返回相同状态码,或所有请求在建立连接阶段就失败。你可以从访问日志中抽取突增前后各一段,按状态码、响应时间和请求类型分组对比。若表现为“慢但成功比例逐步下降”,优先按资源压力处理;若表现为“某类请求整批失败且与并发量无关”,优先查配置。
这里要避免一个常见误判:请求量归零或抓取量下降,并不能单独证明是配置错误,也可能是上游限流、网络中断或对方主动减少抓取。反过来,状态码集中也不必然来自主机配置,应用层异常同样会造成整齐的失败边界。把日志、监控和最近一次变更记录放在一起看,才有区分力。
资源压力需要一组可对照的指标,而不是单看CPU或内存的瞬时峰值。假设某站点在突增期间出现以下组合:平均响应时间从常态的数百毫秒升到数秒,队列等待变长,进程数接近上限,磁盘IO持续偏高,但错误以超时和少量5xx为主。这组证据指向容量不足,而不是配置写错。此时扩容或限流能直接影响下一步:如果扩容后响应时间回落、超时减少,说明压力判断成立;如果扩容后失败模式完全不变,就要回到配置和上游链路。
注意,CPU高不等于资源压力,也可能是死循环、正则回溯或某段低效代码被突增流量放大。判断时要看“负载升高是否与请求量同步”,以及“降量后指标是否随之回落”。同步升高、降量回落,才更接近容量问题。
配置错误的典型特征是“与流量无关的稳定失败”。例如突增开始后,某个目录下所有请求都返回403,而其他目录正常;或重写规则把带参数的URL导向错误路径,导致固定404。这类问题在流量恢复后依然存在,不会因为并发下降而消失。你可以做一个实际动作:用同一URL在低并发下重复请求,若仍稳定复现相同状态码,基本可以排除单纯的资源压力。
适用前提也要说清:只有在你能确认最近有过配置变更、规则调整或依赖版本更新时,配置错误才应排在前面。若近期没有任何变更,突增本身更可能是触发条件,此时配置只是被流量暴露,而非新引入。
面对突增,你有三种取舍,各自适用条件不同。
三种选择不是并列推荐,而是由证据顺序决定。先做低成本的范围判断,再决定是否投入扩容或迁移。
假设某站点突增后,首页和列表页大量超时,但同一主机上的静态文件仍能快速返回。此时更可能是应用进程或数据库连接成为瓶颈,而不是整机网络配置错误。下一步动作是查看应用进程数与数据库连接等待,若两者都接近上限,扩容应用层或增加连接池比修改Web服务器规则更直接。若扩容后静态文件也开始变慢,说明整机资源确实被挤占,判断需要修正。这个例子中的数字和现象均为假设,用于说明比较方法,不代表任何真实项目结果。
区分资源压力与配置错误,关键不是找单一指标,而是看失败是否随流量变化、是否与最近变更相关、以及低并发下能否复现。把这三条证据排好顺序,保留、改写或退出的决定才有依据。