Comparação Velocidade de Servidores DNS

Nos últimos tempos tenho assistido a muitas discussões sobre DNS, cada um tem a sua opinião quanto ao melhor serviço, de forma a dissipar as minhas duvidas resolvi fazer um teste simples para me dar uma ideia de qual o melhor serviço de resolução de nomes. Testei os seguintes servidores DNS:

OpenDNS (208.67.222.222)

Google DNS (8.8.8.8)

Sapo (194.65.5.2)

Telepac (194.65.14.27)

PT-Prime(62.48.131.10)

Zon Tv-Cabo (212.113.161.226)

O teste consiste num query simples pelo nome de alguns dominios, os dominios escolhidos foram os seguintes :

antoniocampos.net (Dominio pouco conhecido, quase de certeza que não existe em cache!)

microsoft.com (Dominio Popular* com muitos pedidos!!)

digg.com (Dominio Popular* com muitos pedidos!!)

fccn.pt (Dominio português com servidores DNS”™s portugueses)

* 2 dominios nas mesmas condições para demonstrar que não é apenas a resposta do servidor DNS a quem efectuamos o pedidos de resolução que influencia o resultado.

 antoniocampos.net microsoft.com digg.com fccn.pt
OpenDns 417 50 51 15
Google DNS 62 54 61 129
Sapo 253 13 17 TimeOut
Telepac 13 18 13 101
Pt-prime 22 14 13 24
Zon 15 15 14 19

 O resultado é expresso em mili-segundos medidos entre o pedido e a recepção da resposta.

A tabela é elucidativa, e confirma o que sempre defendi. Os servidores do OpenDNS e do Google ate podem ser rápidos, mas nós distantes fisicamente, mesmo que resposdam muito rapidamente aos pedidos de resolução, o tempo que o nosso pedido demora a atravessar o Oceano e voltar também influi no tempo de resposta. O que sempre aconselhei é a utilização dos servidores DNS do ISP, uma vez que é uma ligação mais próxima e optimizada.

A forma como os própios dominios estão configurados podem influenciar na velocidade do pedido, quando um dominio tem um TTL muito baixo os servidores de DNS tem que fazer queries mais frequentes o que leva a uma demora maior.

A popularidade do dominio também conta, uma vez que existe mais possibilidades de o mesmo já estar na cache do servidor DNS e aquando do nosso pedido o servidor já ter a resposta pronta e não tem que interrogar outros servidores, enquanto esperamos. Um teste simples para perceber isto é fazer 2 vezes o mesmo pedido e comparar a diferença de tempo de resposta entre o primeiro e o segundo.

Além destes muitos outros factores podem influir no tempo de resposta do Servidor DNS, tentar enumera-los seria um trabalho longo complexo e sempre incompleto.

Se quiserem fazer um teste idêntico a este, existe um comando em linux que é o Dig que permite obter o tempo de resposta de um servidor DNS para um determinado dominio a sintaxe é dig @SERVIDORDNS DOMINIO por exemplo dig @8.8.8.8 antoniocampos.net (pedir ao Google DNS o ip do dominio antoniocampos.net) o resultado será algo do género:

; <<>> DiG 9.3.4-P1.2 <<>> @8.8.8.8 antoniocampos.net

; (1 server found)

;; global options:  printcmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 52335

;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:

;antoniocampos.net.             IN      A

;; ANSWER SECTION:

antoniocampos.net.      12692   IN      A       75.127.69.219

;; Query time: 62 msec

;; SERVER: 8.8.8.8#53(8.8.8.8)

;; WHEN: Fri Dec  4 14:40:43 2009

;; MSG SIZE  rcvd: 51

Â

Já agora o teste foi efectuado com uma ligação á internet da Telepac. Se quiserem partilhar os resultados com os mesmos servidores para os mesmos dominios mas através de outros ISP”™s, será interessante para comparar.