Questão Melhorias no resolvedor de DNS?


Eu encontrei recentemente a seguinte configuração do /etc/resolv.conf que é / deveria aumentar a velocidade da resolução do DNS:

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

Eu tenho os sinalizadores de "opção" em mente, obviamente, além de usar 3 servidores DNS na configuração (geralmente apenas dois estão sendo usados). O primeiro deve girar / round-robin em todos os 3 servidores DNS e o último deve definir o tempo limite de pesquisa para 1s (o padrão é aparentemente 5s). Eu só estou querendo saber se algum de vocês está usando esta configuração e se você está vendo alguma melhoria? Algumas pessoas estão dizendo que isso não vai ajudar com as melhorias, mas eu não tenho certeza do porquê.


4


origem




Respostas:


Isso tornará as coisas piores em todos os casos, exceto no caso em que seu primeiro servidor de nomes falhe. Aqui está um exemplo de como isso piora as coisas:

Digamos que você esteja tentando resolver um site cujo servidor de nomes primário seja lento ou corrompido. Normalmente isso acontece.

  1. Você tenta o seu primeiro servidor de nomes.

  2. Ele tenta o servidor de nomes principal do site.

  3. O primário expira.

  4. Seu primeiro servidor de nomes tenta o secundário.

  5. Obtém uma resposta.

  6. Você recebe uma resposta.

Mas com a sua mudança, isso acontece:

  1. Você tenta o seu primeiro namserver.

  2. Seu primeiro servidor de nomes tenta o servidor de nomes primário do site.

  3. Você acabou.

  4. Você tenta seu segundo servidor de nomes.

  5. Seu segundo servidor de nomes tenta o servidor de nomes primário do site.

  6. O primeiro servidor de nomes tenta o servidor de nomes secundário do site e obtém a resposta. Pena que você já esgotou o tempo.

  7. Você tempo fora no segundo servidor de nomes.

  8. Você tenta o terceiro servidor de nomes.

  9. Seu terceiro servidor de nomes tenta o servidor de nomes primário do site.

  10. Seu segundo servidor de nomes tem a resposta, pena que você já tenha expirado.

  11. Você passa o tempo no terceiro servidor de nomes.

  12. Seu terceiro servidor de nomes tem a resposta, mas você não está mais ouvindo.

Você está expirando caminho muito cedo e é muito provável que desistam pouco antes do namserver obter a resposta, apenas para repetir o processo. Pelo lado positivo, agora todos os seus servidores de nomes têm o resultado em seu cache.


4



+1 apenas para Pelo lado positivo, agora todos os seus servidores de nomes têm o resultado em seu cache.. De qualquer forma, excelente quebra do efeito de reduzir o tempo limite demais. - Bob
DNS não tem conceito de "servidores de nomes principais" para um domínio. Existe a primária como nomeada na SOA, mas não consigo imaginar resolver depende disso. Os RRs NS já são redistribuídos a partir da zona pai, bem como do servidor autoritativo que responde e de quaisquer caches entre (acho que há uma opção BIND para desabilitar esse comportamento). Até certo ponto, o DNS tem um conceito de servidores mestre e escravo, mas isso não tem nada a ver com qual servidor é consultado primeiro, somente onde as alterações são feitas principalmente (configurações mestre ocultas / privadas). Resolvers pode ser e muitas vezes são diferentes. - Michael Kjörling
@ MichaelKjörling Por "primária" eu só quero dizer que o primeiro retornou. Enquanto round robin é a norma, não é universal. (E mesmo que fosse, seria preciso apenas azar para acertar o ruim primeiro mais de uma vez.) - David Schwartz


Minha maneira de melhorar o desempenho do DNS:

  1. Corre namebench para encontrar o provedor de DNS mais rápido para você.
  2. Feito.

Para meu conhecimento, não há mágica, configuração local para melhorar a velocidade de consultas DNS. Mas eu dificilmente sou um especialista no assunto.


6





IIRC, leva dois segundos por padrão para o primeiro servidor DNS experimentado para o tempo limite antes de tentar o próximo na lista, se não houver resposta. Portanto, parece que a última opção reduzirá o tempo limite para um segundo antes de tentar o próximo na lista.

A outra opção para girar o servidor DNS que ele tenta primeiro só será útil se eles forem todos tão rápidos quanto um ao outro e você estiver tentando carregar as solicitações de saldo.

Eu usaria namebench, como Oliver mencionou, para descobrir o quão rápido cada um é e colocá-los na lista em ordem de velocidade e excluir a opção de rotação, a menos que eles sejam tão rápidos quanto um ao outro.


1