一、场景:同域名不同人访问速度不一样
用户 A 说打开网站要 3 秒,用户 B 说秒开。你查服务器监控,CPU 和内存都正常,CDN 命中率也 OK。最后发现用户 A 用的是某小运营商的 DNS,递归链路绕了半个中国。
二、原理:什么叫慢
冷查询情况下,10 到 30ms 算优秀,30 到 80ms 正常,80 到 150ms 值得关注,超过 150ms 基本说明递归链路有问题或者被劫持。TTL 设置过低会导致频繁回源,看似小钱实则放大延迟。
三、实操:指定 DNS 对比
用拨测平台的 DNS 查询功能,支持多节点解析一致性扫描。分别指定阿里 DNS、腾讯 DNS、114 DNS、Cloudflare DNS、Google DNS,同一 URL 跑五遍,对比 TTFB 和解析结果。
四、判读信号
各节点解析结果时间差超过 50ms 或者返回的 IP 运营商不一致,说明调度异常或者疑似劫持。
指定 Cloudflare DNS 快但默认 DNS 慢,说明 Local DNS 递归链路烂,推用户换解析商。
CNAME 链里出现非预期域名,比如测试域或者旧 CDN 域名,说明迁移残留需要清理。
移动节点返回电信 IP,说明跨网调度失败,CDN 配置有问题。
五、总结
DNS 是首跳,错了后面全白费。定期用指定 DNS 对比排查,能提前发现大部分用户侧的访问慢问题。
附:指定 DNS 对比和解析一致性检测,用带多节点 DNS 查询功能的平台都可以做,我用的快快测 kkce.com,能同时扫 A、AAAA、CNAME 记录,免费版够用。