DNS性能:是否有多个辅助NS服务器提高性能?

当一些域有主NS和多个次NS时,客户会随机要求它们减less负载,还是只会触发主NS,而只有在主服务器出现故障时才会继续使用辅助NS?

  • Apache负载均衡器服务器备份
  • 有相同的PTR主机名有效的多个IP地址?
  • Amazon ELB工作stream程中的SSL / HTTPS
  • 2012年的DNS轮询,负载平衡,负载分担和故障切换
  • 我应该使用一个ssl终结者或haproxy?
  • 单个IP地址如何负载均衡?
  • 8 Solutions collect form web for “DNS性能:是否有多个辅助NS服务器提高性能?”

    我将重用从这里的例子https://serverfault.com/questions/130608/when-is-a-secondary-nameserver-hit/130625#130625

    基本上它取决于parsing器的实现。 一些parsing器碰到第一个服务器,其他parsing器将随机select一个服务器。 为了解决这个问题,大多数DNS服务器会随机应答回复的顺序。

    如果您要求google.com,您会得到以下答案:

    #dig NS google.com ;; QUESTION SECTION: ;google.com. IN NS ;; ANSWER SECTION: google.com. 297286 IN NS ns3.google.com. google.com. 297286 IN NS ns2.google.com. google.com. 297286 IN NS ns4.google.com. google.com. 297286 IN NS ns1.google.com. ;; ADDITIONAL SECTION: ns1.google.com. 297067 IN A 216.239.32.10 ns2.google.com. 297074 IN A 216.239.34.10 ns3.google.com. 297074 IN A 216.239.36.10 ns4.google.com. 297067 IN A 216.239.38.10 

    然后我们再做一次:

     #dig NS google.com ;; QUESTION SECTION: ;google.com. IN NS ;; ANSWER SECTION: google.com. 297249 IN NS ns3.google.com. google.com. 297249 IN NS ns2.google.com. google.com. 297249 IN NS ns1.google.com. google.com. 297249 IN NS ns4.google.com. ;; ADDITIONAL SECTION: ns1.google.com. 297030 IN A 216.239.32.10 ns2.google.com. 297037 IN A 216.239.34.10 ns3.google.com. 297037 IN A 216.239.36.10 ns4.google.com. 297030 IN A 216.239.38.10 

    注意这里是如何改变回复中的名字服务器的顺序来分散负载的。

    就DNSrecursion服务器而言,“主”和“次”名称服务器之间没有区别 – 从技术上讲,它们都只是“权威”的服务器。

    唯一能够对负载平衡的有效性产生影响的是:

    1. NSlogging列表的顺序是由服务器自己返回的
    2. 无论客户是随机挑选一个
    3. 无论客户是否使用其他启发式(即往返时间 – RTT)来select“最快”的服务器

    在这些因素中,第一个是不重要的。 随机挑选和使用RTT更为常见。

    IPv4parsing器通常会按照他们在数据包中获得的顺序使用服务器,而第一个最常见的是成功的。 订单通常由DNS服务器随机分配负载。 IPv6将改变这一点,因为它要求具有最常见的最高位的IP首先被联系。 这将使得DNS答复的随机化毫无意义。

    他们将首先击中主要的,然后继续到次要的NS,所以有多个名字服务器只会增加冗余。

    为了提高性能,您需要使用任何名称服务器,尽pipe自行实施这将花费大量现金,并且不会提供足够的改进来保证成本。

    如果你在谈论DNS服务器,而不是DNScaching,那么它会随机询问服务器。 主服务器仅仅是域名授权的其他服务器的dnslogging的来源。 这也许是真实的,只有当你使用axfr作为复制你的dns的方法时,在用其他forms的复制来咨询后端(如数据库或ldap目录)时,对于哪个logging进入SOA。 这有一个例外,那就是如果你使用的是dynamicDNS更新,那么DHCP客户端将联系这个服务器更新他们的IPS信息。

    根据我们的DNS服务器上的经验数据,似乎主要和次要的数据或请求大致相同,也就是说parsing器将使用这两个数据,可以是随机select,循环法或其他。

    增加更多的服务器肯定可以提高性能

    提高整个互联网DNS性能的唯一方法是使用任播地址。

    如果您只是添加一堆地址,您仍然无法控制某个远程用户实际要使用的地址,因为客户端的操作系统决定如何处理它所获得的DNS服务器。 一个聪明的客户端会试图找出哪个是最快的,但这不是DNSpipe理员控制的东西。

    Windows客户端将使用主DNS,除非主服务器不能联系,那么它将切换到辅助服务器。 我不认为有办法改变这种行为。

    服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器.