先看一个可验证的信号:同一时段内,服务器资源曲线与请求结果是否同步变化。假设某个VIP域名在活动开始后请求量明显上升,页面时快时慢,部分返回5xx。若CPU、内存、连接数接近上限,同时错误随并发升高而增加,更可能是资源压力;若资源仍有余量,却只有特定路径、特定地区或特定协议出错,更可能是配置错误。缺少完整监控权限时,仍可用抽样请求、响应头、错误分布和回滚对照做最小判断。
假设你负责一个已解析并对外提供服务的VIP域名,活动开始后访问量突增。你没有完整的历史监控,只能看到部分状态码、少量日志和零散的用户反馈。此时不要先改DNS,也不要急着加机器。先记录三个维度:错误出现的时间点、错误是否集中在某些URL、同一URL在不同网络环境下是否表现不同。时间点用于判断是否与流量峰值同步;URL分布用于判断是否与某个规则、重写或上游配置有关;网络差异用于判断是否与解析、证书、CDN节点或区域策略有关。
如果错误只在峰值出现,峰值过后自动消失,资源压力的可能性更高。如果错误在峰值过后仍固定复现,或只影响某一类请求,配置错误的可能性更高。这个判断不是最终结论,只是决定下一步先查资源还是先查配置。
资源压力通常表现为“越忙越错”。可观察的证据包括:错误率与并发量同向变化;响应时间整体拉长,而不只是某个接口变慢;连接池、线程池、文件描述符或带宽接近上限;重启或扩容后错误暂时缓解。若只能看到应用日志,可以看超时、连接被拒绝、队列等待这类信息是否集中在峰值时段。
但要注意,请求量归零或错误率下降不能单独证明扩容有效。也可能是上游缓存命中、攻击停止、客户端重试减少或流量调度变化。要确认资源压力,至少需要把资源指标与错误时间轴对齐,再做一次受控对照:在低峰期用相近并发压测同一路径,看是否复现同类错误。若低峰期也复现,资源压力就不是唯一解释。
配置错误更像“条件触发”。常见表现是:资源使用平稳,但某个路径固定404或502;同一域名下部分子路径正常、部分异常;HTTP与HTTPS结果不同;带与不带末尾斜杠结果不同;特定请求头、方法或查询参数才失败。此时应优先检查最近变更:重写规则、反向代理转发、上游地址、证书链、缓存键、CORS或安全策略。
一个实际动作是:用curl -I分别请求正常路径和异常路径,记录状态码、响应头和重定向链。若异常路径在响应头里出现明显不同的上游或缓存标记,下一步就查该路径对应的配置,而不是先扩容。若两者响应头一致、只有耗时不同,再回到资源方向。这个动作的结果会直接决定排查顺序。
没有服务器权限时,仍可做以下最小检查:
robots.txt或站点地图,只把它们当作抓取提示,不要用抓取限制推断索引移除,也不要用站点地图推断收录。这些动作能帮你缩小范围,但不能单独证明根因。例如,某地区请求失败,可能是该地区节点故障,也可能是该地区用户触发了特定参数。HTTPS正常也不代表配置无误,它只说明传输层握手成功,不保证应用层路径、权限或缓存规则正确。
若证据指向资源压力,下一步是限流、扩容或降级非核心功能,并观察错误是否随资源余量恢复而下降。若证据指向配置错误,下一步是回滚最近变更或按路径修正规则,再验证同一路径是否恢复。两种方向不要同时大改,否则无法判断哪一步生效。
假设你只有十分钟:先抽样五个URL,记录状态码和耗时;再对比峰值前后同一URL的响应头;最后决定是先看资源曲线还是先看配置变更。这个顺序不保证找到根因,但能避免把配置错误当成容量问题,也能避免把资源压力误判为规则故障。缺少完整数据时,结论应写成“当前证据更支持哪一类”,而不是“已经确定”。