ITSWE博客

十家公共 DNS 摆上台面:一次实测的结论

热缓存大家打平,冷递归才见真章:最快的 25 毫秒,最慢的 740 毫秒。社区顺口溜不如一次受控实测。

“公共 DNS 用哪家”是网络社区的老话题,答案通常是几句顺口溜。我不信顺口溜,所以有一天花了一个下午,把国内主流的十家公共 DNS 拉到同一台机器上做了次受控实测。

方法先交代,因为它决定结论可不可信。操作系统的解析命令走的是系统自带解析器,缓存、超时、重试全都搅在一起,测出来是浆糊。正确姿势是绕开一切封装,用脚本直接构造 DNS 查询包发给各家,量原始往返延迟。测两个口径:热缓存——解析大家都在访问的热门域名,这是日常上网最常碰到的场景;冷递归——解析随机生成的、谁都没缓存过的域名,这考验的是一家 DNS 的真正功力。

结果很有层次。热缓存场景,国内主流全部打平,二十五到三十四毫秒,快慢差距不到一倍,体感无差。冷递归才是分水岭:最强的六十三毫秒,多数选手七八十到一百多,而有一位选手跑出了七百四十毫秒——碰上冷域名,用户能感知到明显的卡顿。国际两家著名的公共 DNS,在国内测是一百多到三百多毫秒,慢四到十倍,国内用户完全没必要碰。

顺带还抓到一个不相关的意外:这台机器的系统默认 DNS,某次实测慢到单次解析十一秒。换了之后立竿见影。很多人上网“莫名卡”,病根可能就在这个从没人检查过的地方。

选型结论三句话:追求日常快,选热缓存最快的那个;常访问新站冷站,选冷递归最强的那个;要一个综合稳妥不折腾的,选公共池最大的那个。至于具体名字——114、DNSPod、阿里,社区都能查到对应关系,这篇文章更想留下的其实是方法论:性能结论要么来自受控实测,要么就是传说。两套口径设计好,十分钟就能把传说验明正身。

观点网络
返回全部文章