关于 DNS 解析延迟的一点测量
把一个域名解析拆开,时间花在三段:本地缓存、递归查询、权威应答。大部分性能讨论混着谈,所以结论经常互相矛盾。
我先测本地缓存命中:稳定在 0.2 ms 以内,基本可以忽略。然后测未命中的情况,冷启动平均 38 ms,其中递归到根、TLD、权威的往返占了绝大部分。
真正有意思的是缓存命中率。同一个域名,把 TTL 从 300 秒改到 3600 秒,未命中比例从 12% 降到 2%,平均解析延迟从 5 ms 降到 0.9 ms。也就是说,绝大多数时间的开销不是解析,而是没命中。
所以优化的顺序应该是:先提高缓存命中率(TTL、预取),再考虑换递归服务器,最后才是权威侧的部署位置。倒过来做,投入产出比很差。