DNS服务器的地理位置有多重要?

我们已经开始在亚洲运行我们自己的DNS服务器,因为这是我们的主要受众。 然而,美国的一些用户似乎有时难以访问我们的网站。 我注意到我自己对美国域名的DNS查询比较慢(500毫秒+)。 也许一些用户遇到的问题是由于其他的DNSconfiguration错误,但总的来说,DNS服务器的地理位置有多大? 我们应该在美国有一个额外的服务器吗?

来自美国的DNS域名查询相对较慢(500毫秒+)。

这不是亚洲 – 这是一个糟糕的提供者。

我自己在欧洲。 我在美国机器上的延迟是从德国数据中心到芝加哥机器的150ms,125ms。

现在,我看不到亚洲能像德国那样超过五倍。 即使你通过欧洲(这是愚蠢的开始)亚洲交通路线,这仍然是很多很多。

最后,问题不是地理位置,而是一个连接不好的供应商。

说:在美国添加一个服务器不会帮助,因为DNS服务器是循环select – 它只会帮助您build立一个基于rreginal的IP多播解决scheme。

我会build议移动DNS到一些专业公司。 便宜,他们处理你的问题。

但是“一二”太多了。 太多了。

一个可能相关的东西是你的区域的TTL。 如果您的TTL较高,则该区域将存放较长时间的caching,而您的客户更有可能取回这些caching。

高TTL当然有缺点,最突出的是变化需要更长的时间来传播。 我build议阅读Chris Gonyea的见解和关于zytrax上 DNS / TTL的文章以获取更多细节。

根据您的情况,您的DNS服务器的位置或多或less是一个问题。

这里有一些见解:

  • 由于大多数浏览器现在执行DNS预取,所以DNS延迟与Web应用程序的关联性较小
  • 几个稀疏的DNS服务器比共同位于您的使用中心的多个DNS服务器更好
  • 大多数DNSparsing器会根据先前测量的响应时间挑选服务器进行查询
  • 您可以预期DNS的平均延迟时间为200毫秒
  • 根据我们的经验,亚洲供应商之间的路由质量范围是巨大的。
  • 对于从名称服务器Bparsing的A,期望t = X / 50 [毫秒]其中X是以公里为单位的近似距离

这就是说,美国到亚洲500ms(正好在哪里)听起来太多了。 您可能需要testing位于亚洲的已知DNS服务器(例如f.ns.buddyns.com ),以获取可获得的延迟的下限。

  1. 把你的DNS交给一个好的DNS公司会照顾它,因为TomTombuild议可能是最好的解决scheme(虽然有价格)。

  2. 考虑增加logging的TTL,请参阅Tommy的答案。

  3. 让DNS服务器更贴近客户个好主意。 这样做。 它通常会加快部分访问者的DNSparsing速度。 最接近的名称服务器将比其他更频繁地使用(但并不总是)。

    BIND 9使用一种简单的衰减测量方法来确保使用最知名的服务器来parsing查询。 如果一个域的服务器是10毫秒,另一个是80毫秒,则BIND 9将最常使用10毫秒的服务器,但是仍然定期尝试更远的那个服务器。 (来源: ISC博客 )

  4. 亚洲服务器的延迟可能取决于亚洲的互联网连接。 与您的亚洲供应商交谈,如果他们能够帮助您实现更好的延迟,可能会询问其他供应商。 500ms真的好像太多了。 (顺便说一下,如果亚洲的话,你的意思是中国,那里有一些防火墙,也许它增加了延迟?)也许尝试traceroute ,看看是什么造成的延迟。

正如其他人所指出的那样,获得托pipeDNS服务是一个好主意。

我检查了我们的数据库(其中包括来自世界各地的名称服务器),500毫秒的速度在速度上略高于3个百分点,所以速度非常慢,而且对于DNS服务来说非常不寻常。