我们已经开始在亚洲运行自己的 DNS 服务器,因为我们的主要受众在亚洲。但是,似乎有些美国用户有时在访问我们的网站时会遇到困难。我自己注意到,从美国对我们的域名进行 DNS 查询相对较慢(500 毫秒以上)。也许有些用户遇到的问题是由于其他 DNS 配置错误造成的,但总的来说,DNS 服务器的地理位置有多大的问题?我们是否应该在美国再设一台服务器?
答案1
从美国对我们的域名进行 DNS 查找相对较慢 (500 毫秒以上)。
这不是亚洲——这是一个糟糕的提供商。
我自己在欧洲。我到美国机器的延迟是 150ms,从德国数据中心到我在芝加哥的机器的延迟是 125ms。
现在,我不明白亚洲的 aar 怎么会是德国的 5 倍以上。即使你通过欧洲路由亚洲流量(这从一开始就很愚蠢),这仍然太多了。
归根结底,问题不在于地理位置,而在于提供商连接不良。
也就是说:在美国添加服务器不会有帮助,因为 DNS 服务器是循环选择的 - 只有当您建立一个区域感知 IP 多播解决方案时才会有帮助。
我建议将 DNS 转移到一些专业公司。更便宜,而且他们会帮你解决问题。
但半秒就太多了。太多了。
答案2
答案3
根据您的场景,DNS 服务器的位置或多或少是一个问题。
以下是一些见解:
- DNS 延迟对于 Web 应用程序来说并不重要,因为现在大多数浏览器都会执行 DNS 预取
- 几个分散的 DNS 服务器比使用中心内多个共置的 DNS 服务器更好
- 大多数 DNS 解析器根据之前测量的响应时间来选择要查询的服务器
- DNS 的平均延迟预计为 200ms
- 根据我们的经验,亚洲供应商之间的路由质量差异很大。
- 对于从名称服务器 B 解析 A,预计 t = X/50 [毫秒],其中 X 是公里的近似距离
话虽如此,从美国到亚洲(具体在哪里?)500ms 听起来太长了。您可能想要测试位于亚洲的已知 DNS 服务器(例如f.ns.buddyns.com),以获得可以获得的延迟的下限。
答案4
正如其他人指出的那样,获取托管 DNS 服务是一个好主意。
我检查了我们的数据库(其中包括来自世界各地的名称服务器),500ms 的速度略高于 3%,因此它非常慢,而且对于 DNS 服务来说相当不寻常。