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 domínios, os domínios escolhidos foram os seguintes :
– antoniocampos.net (Domínio pouco conhecido, quase de certeza que não existe em cache!)
– microsoft.com (Domínio Popular* com muitos pedidos!!)
– digg.com (Domínio Popular* com muitos pedidos!!)
– fccn.pt (Domínio português com servidores DNS portugueses)
* 2 domínios 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.
Servidor DNS |
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 respondam 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óprios domínios estão configurados podem influenciar na velocidade do pedido, quando um domínio 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 domínio 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 domínio a sintaxe é “dig @SERVIDORDNS DOMINIO” por exemplo dig @8.8.8.8 antoniocampos.net (pedir ao Google DNS o ip do domínio antoniocampos.net) o resultado será algo do género:
; <<>> DiG 9.10.3-P4-Debian <<>> @8.8.8.8 antoniocampos.net
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50108
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;antoniocampos.net. IN A
;; ANSWER SECTION:
antoniocampos.net. 299 IN A 104.28.16.20
antoniocampos.net. 299 IN A 104.28.17.20
;; Query time: 13 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; MSG SIZE rcvd: 78
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 domínios mas através de outros ISP será interessante para comparar.