1.
常见故障分类与初步判断
故障1:回源超时或 504 错误,先判定是 CDN 还是源站问题。
故障2:缓存不命中导致回源压力激增,观察缓存命中率。
故障3:DNS 解析错误或解析延迟,检查域名解析记录与 TTL。
故障4:节点丢包或链路不稳定,使用 MTR/trace 路由追踪。
故障5:被流量攻击(DDoS)导致带宽/连接耗尽,查看防护策略与黑洞情况。
故障6:配置变更导致证书或主机头不匹配,检查 TLS/Host 配置与证书有效期。
2.
快速定位的工具与命令清单
命令1:ping 与 mtr,用于判断延迟与丢包(示例:mtr -rw 203.0.113.1)。
命令2:curl -I/-v 检查响应头与回源地址(示例:curl -I https://www.example.com/)。
命令3:tcpdump 抓包定位四层/七层异常(示例:tcpdump -i eth0 port 80 -w dump.pcap)。
命令4:dig/nslookup 验证 DNS 与 CNAME 链路(示例:dig +short www.example.com)。
命令5:查看 CDN 控制台日志与回源日志,统计 5xx/4xx 错误率。
命令6:使用压力与带宽监控工具(例如 iperf3)验证链路能力。
3.
数据监控指标与门限示例
指标1:缓存命中率,理想 >= 85%,低于 70% 需排查缓存策略。
指标2:平均响应时延,海外节点 < 200ms、国内节点 < 50ms 为佳。
指标3:丢包率,>1% 表示链路异常,>5% 需紧急处理。
指标4:回源 5xx 占比,>0.5% 需排查源站稳定性。
指标5:带宽利用率,>80% 表示接近瓶颈;并发连接数达到网卡/系统上限需扩容。
指标6:TLS 握手失败率,>0.1% 需检查证书与加密套件兼容。
4.
故障排查步骤与快速定位流程
步骤1:确认影响范围(单用户/单节点/全站),通过 CDN 控制台与用户反馈判断。
步骤2:从 DNS 开始,确认 CNAME 指向与解析地理分布是否正确。
步骤3:对比边缘节点与回源的响应头(X-Cache / Via / X-Served-By)。
步骤4:用 mtr 定位到发生丢包的跃点并联系上游 ISP/骨干。
步骤5:若为回源问题,查看源站 Nginx/Apache 日志并核对并发与连接数。
步骤6:如疑似攻击,启用 CDN 防护规则(限速、Geoblocking、WAF)并查看黑名单。
5.
真实案例:电商促销期间回源压力激增的处理
背景:某电商双十一促销,访问量瞬时提升 8 倍,出现大量 504 与回源超时。
排查一:监控显示 CDN 缓存命中率跌至 22%,回源流量从 200Mbps 增至 1.6Gbps。
排查二:源站配置如下示例:Ubuntu 20.04,8 vCPU,16GB RAM,网卡 1Gbps,Nginx 1.18。
处理:临时提升 CDN 缓存 TTL,启用静态资源完全缓存,并在源站增加两个 4vCPU/8GB 的备份。
结果:缓存命中率回升到 88%,回源流量降至 120Mbps,504 错误恢复到 <0.1%。
6.
示例数据表与常用配置样例
下面表格展示了一个边缘节点与源站在故障前后的关键指标对比:
| 节点/指标 | 缓存命中率 | 回源流量 | 平均时延 | 错误率(5xx) |
| 故障前(边缘) | 22% | 1.6 Gbps | 310 ms | 3.8% |
| 处理后(边缘) | 88% | 120 Mbps | 65 ms | 0.08% |
| 源站配置示例 | Ubuntu20.04 | 8 vCPU / 16GB | 1 Gbps NIC | Nginx 1.18 |
配置建议:缓存静态资源如 CSS/JS/图片 TTL >= 3600s,启用 gzip/ brotli,合理设置 cache-control 与 vary。
附加建议:建立监控告警(命中率、丢包、5xx),并与 CDN 提供商保持 24/7 联络通道。
来源:云伐cdn故障排查常见问题与快速定位方法总结