先看时间形态:如果变慢从流量上升开始、随流量回落而缓解,且各资源耗时普遍拉长,更像资源压力;如果流量还没到峰值就出现固定资源集中失败、状态码突变或单一环节恒定超时,更像配置错误。缺少完整日志和权限时,最小动作是抓取同一URL在突增前后的耗时与状态码对比,并观察是否所有资源一起变慢;这只能区分方向,不能证明根因。
条件一:你能拿到按时间分桶的请求量和响应时间。若两者同步上升、同步下降,优先按资源压力处理;若请求量平稳而响应时间在某时刻跳变,优先查配置变更、依赖切换或缓存失效。
条件二:你只有零散样本,没有完整时间序列。此时不要先改配置,先做最小对照:用同一URL、同一设备类型,在流量高峰和低谷各取若干次,记录总耗时、首字节时间和失败资源的类型。若低谷也慢,说明与流量无关,配置或依赖问题更可疑;若低谷正常,继续看高峰时是哪一类资源先恶化。
两种条件的分界不是“有没有监控”,而是“变慢是否跟随流量”。跟随流量是资源压力的必要线索,但不是充分证据,因为缓存被击穿、连接池耗尽也会跟随流量出现,却属于配置容量问题。
资源压力的典型表现是排队:HTML、CSS、JS、图片都变慢,失败以超时和连接重置为主,重试后可能成功。配置错误的典型表现是选择性:某一类资源恒定404、403、500,或某个域名、某条规则下的请求全部失败,重试结果不变。
这里要说明一个容易误判的点:请求量或抓取量归零,不能单独证明你处理正确。它也可能来自上游限流、监控采集中断、缓存命中改变或统计口径变化。看到归零应先确认采集是否仍工作,再判断处理是否生效。
没有服务器日志、没有CDN后台、没有权限改配置时,仍可做三件事:
这些动作的结果决定下一步:若失败与URL绑定,下一步是找配置归属方核对规则;若失败与时间绑定,下一步是找容量或限流归属方核对阈值。若两者都不明显,只能暂停结论,继续收集时间序列,不能仅凭一次复测就断定是资源压力。
假设某页面在突增期间总耗时从低谷的基准值上升数倍,低谷复测正常,高峰时所有资源都变慢,失败以超时为主。按上面的依据,先按资源压力处理,检查并发和上游限流。若同一页面在低谷也出现某个JS文件恒定404,则先按配置错误处理,核对路径和重写规则。这个例子只说明比较方法,不代表任何真实站点数据。
还要注意,robots.txt的抓取限制不等于可靠的索引移除,站点地图不保证收录,HTTPS也不保证安全无漏洞或排名。这些与加载速度判断无直接关系,但在排查配置时容易被混为一谈,应分别核查。
例外一:流量突增伴随配置发布。此时两种原因同时存在,必须先用发布时间线对齐,再决定先回滚还是先扩容。
例外二:监控本身在高峰失真。采集端过载会让数据看起来像资源压力,实际是观测问题。
例外三:第三方资源变慢。它可能跟随你的流量上升,但根因在外部,扩容自身未必有效。
不能推出的结论包括:变慢一定等于资源不足;错误码一定等于配置错误;请求量下降一定等于问题解决。区分资源压力与配置错误,最终靠时间形态、失败是否与URL绑定、以及复测是否可复现这三组证据,而不是单一指标。