我们使用 Digital Ocean (DO),但我想这个问题适用于任何在任何地方托管的人。在Dnsperf 排名中,DO 相当高,但在UltraDNS DNS 速度测试中,我使用 DO 托管的域比使用 GoDaddy 托管的其他域慢得多。区别在于 DO 上的 90 毫秒与 GoDaddy 上的 2 毫秒。
问题:这些测试是否告诉我有关 DNS 速度的任何信息,或者它们是否总是与测试服务器(在本例中来自 UltraDNS)可能的位置相关?我们正在尝试加速我们的 DNS,并在我们的“droplet”VPS 服务器上尝试了 DNSMasq 之类的工具,但 DNS 速度测试结果保持不变。
我们是否过度设计?希望听到有关如何使我们的 DNS 以最佳速度运行的任何指导。谢谢。
你想太多了。
DNS 旨在成为一种使用缓存信息的分布式服务。
不要经常更改 DNS 记录,并使用寿命更长的 TTL 以允许 ISP 和其他网络在对主机名进行初始请求后正确缓存您的 DNS 信息。这样,几乎所有请求都应该由几乎本地到客户端的服务器处理,而不是您的实际 DNS 服务器。
如果您的 LAN 上的 DNS 速度很慢,请设置一个仅缓存 DNS 服务器(简单)并在您的内部客户端中引用它。
特别是关于这些测试/基准测试,由此产生的响应时间将在很大程度上衡量其基准主机和您的权威名称服务器之间的网络延迟。
这可能不是特别相关,原因如下:
来自权威服务器的响应时间对于冷缓存场景至关重要。这应该是一种边缘情况,而不是常态(除非流量低和/或 TTL 非常短)。
它们从一些任意选定的网络进行测量,而不是托管您的实际客户端使用的递归名称服务器的网络。当然,它仍然可以提供一些指导,但结果可能会因谁与谁同行等而有很大差异。
您可能过度设计;考虑到缓存,这可能是一个最小的问题。
但是,为了优化任何给定客户端的延迟,您可以研究在许多连接良好的网络中具有节点的任播 DNS 服务。就可靠性而言,这也应该是一个不错的选择(特别是如果您可以结合多个独立的服务提供商),这可能在所有方面都更为重要。