DNS 解析器改进了?

DNS 解析器改进了?

我最近遇到了 /etc/resolv.conf 的以下配置,它应该可以提高 DNS 解析速度:

nameserver 1.1.1.1
nameserver 2.2.2.2
nameserver 3.3.3.3
option rotate 
option timeout:1

除了在配置中使用 3 个 DNS 服务器(通常只使用两个)之外,我显然还考虑了“选项”标志。第一个应该在所有 3 个 DNS 服务器上轮换/循环,最后一个应该将查找超时设置为 1 秒(默认值显然是 5 秒)。我只是想知道你们中是否有人使用过这种配置,以及你们是否看到了任何改进?有些人说这对改进根本没有帮助,但我真的不知道为什么。

答案1

除了第一个名称服务器本身发生故障的情况外,在其他情况下,这都会使情况变得更糟。以下是它如何使情况变得更糟的一个例子:

假设你正在尝试解析一个网站,而该网站的主域名服务器速度很慢或出现故障。通常都会发生这种情况。

  1. 您尝试您的第一个名称服务器。

  2. 它尝试该站点的主要名称服务器。

  3. 主超时。

  4. 您的第一个名称服务器尝试辅助名称服务器。

  5. 它得到了回应。

  6. 你得到了回复。

但随着你的改变,这种情况发生了:

  1. 您尝试您的第一个 namserver。

  2. 您的第一个名称服务器尝试该站点的主名称服务器。

  3. 你超时了。

  4. 您尝试第二个名称服务器。

  5. 您的第二个名称服务器尝试该站点的主名称服务器。

  6. 第一个名称服务器尝试该站点的辅助名称服务器并得到答案。可惜您已经超时了。

  7. 您在第二个名称服务器上超时。

  8. 您尝试第三个名称服务器。

  9. 您的第三个名称服务器尝试该站点的主名称服务器。

  10. 您的第二个名称服务器有答案,可惜您已经超时了。

  11. 您在第三个名称服务器上超时了。

  12. 您的第三个名称服务器有答案,但您不再听了。

您已超时方式太快了,很可能在域名服务器得到答案之前就放弃,只能重复这个过程。好的一面是,现在所有域名服务器的缓存中都有结果了。

答案2

我提高DNS性能的方法:

  1. 跑步名称台为您找到最快的 DNS 提供商。
  2. 完毕。

据我所知,没有神奇的本地配置可以提高 DNS 查询速度。但我并不是这方面的专家。

答案3

如果我没记错的话,默认情况下,如果没有响应,第一个尝试的 DNS 服务器需要两秒钟才能超时,然后才会尝试列表中的下一个服务器。因此,最后一个选项似乎会将超时时间缩短到一秒钟,然后再尝试列表中的下一个服务器。

另一个选项是轮换首先尝试的 DNS 服务器,只有当它们的速度都一样快并且您尝试平衡请求负载时,它才会发挥作用。

我会使用 namebench,因为Oliver 曾提到,找出每个的速度,并按速度顺序将它们放入列表中并删除旋转选项,除非它们彼此一样快。

相关内容