Normalmente, os routers Wi-fi instalados em sua casa, têm configurado o DNS resolver do seu ISP, e por vezes, a resposta dos seus pedidos pode não ser as mais rápida, pois o ISP pode direcionar o tráfego para “aquilo que bem entender”. Não é menos verdade, que grandes empresas tecnológicas também o podem fazer, tal como a Microsoft, Google, Apples, entre outras. Bom, mas não é o objetivo deste artigo discutir essa vertente.
No entanto, a experiência oferecida por estes últimos provedores tende a ser melhorada e não modificada (são eles a garanti-lo). Uma vez que faz parte de uma grande rede DNS e de informação, alguns endereços maliciosos também são bloqueados pelo próprio provedor — principalmente conteúdo adulto — o que oferece uma experiência mais rica e segura para os utilizadores finais e sobre tudo para as famílias e crianças.
Estando de acordo que a escolha de um provedor de DNS popular tende a ser benéfico para a experiência do utilizador enquanto navega na Internert, existe porém um de muitos problemas: ser seletivo e escolher aquele que oferece uma maior performance para a sua zona geográfica.
Por isso, antes de escolher um provedor, recomendamos testá-lo para ver o quão rápido ele será carregado a partir da sua zona geográfica. Neste artigo, vamos comparar o desempenho bruto de alguns fornecedores populares de vários locais em todo o mundo e ver como eles se comportam uns contra os outros.
Provedores de DNS
Em seguida são elencados os oito principais provedores de DNS gratuitos e que foram avaliados neste estudo.
- Google 8.8.8.8: Private and unfiltered. Most popular option.
- CloudFlare 1.1.1.1: Private and unfiltered. New player.
- Quad9 9.9.9.9: Private and security aware. New player that blocks access to malicious domains.
- OpenDNS 208.67.222.222: Old player that blocks malicious domains and offers the option to block adult content.
- Norton DNS 199.85.126.20: Old player that blocks malicious domains and is integrated with their Antivirus.
- CleanBrowsing 185.228.168.168: Private and security aware. New player that blocks access to adult content.
- Yandex DNS 77.88.8.7: Old player that blocks malicious domains. Very popular in Russia.
- Comodo DNS 8.26.56.26: Old player that blocks malicious domains.
A imagem a seguir, apresentamos um rápido overview em relação às suas opções de privacidade.
Comparação de opções de privacidade.
A opção de privacidade acima é baseada na “promessa” dos provedores não registarem nem partilharem os seus pedidos DNS (em suma, todo o seu tráfego de Internet).
Testes de performance em diversas localizações geográficas
Os teste de performance foram realizados em 19 pontos geográficos em todo o mundo, sendo o último realizado através do provedor NOWO, no distrito da Guarda, em Portugal, mesmo no interior do país.
Os primeiros 18 testes foram executados pelo autor do artigo, e ela menciona que “foram avaliados provedores VPS + alguns locais de banda larga para tentar consultar o DNS de tantos lugares quanto pudéssemos. Ele nos dirá o quão bem conectados eles estão, onde seus datacenters estão localizados e quão próxima a experiência de alguém nessa área será“.
Locais escolhidos:
- North America: San Diego, Los Angeles, New York, Toronto, Montreal, Atlanta, Dallas, Fremont, San Francisco
- Europe: London, Paris, Amsterdam, Frankfurt
- Asia: Tokyo, Singapore, Bangalore (India), Sydney, Brisbane (Australia)
- South America: Sao Paulo
Resultados
O teste realizado pelo autor foi muito simples. Foram realizados 70 requests de DNS ao longo de uma hora para diferentes domínios populares (google, facebook, twitter, gmail, etc). Foi calculada no final a média de todas as solicitações por local para obter um indicador de desempenho geral por DNS resolver.
Para os 18 testes inicialmente executados pelo autor, todos os provedores (exceto Yandex) tiveram um ótimo desempenho na América do Norte e na Europa. Todos tiveram menos de 15 ms de resposta nos EUA, Canadá e Europa, o que é incrível.
Em suma, nestas posições geográficas, um utilizador final pode escolher qualquer um deles e não notar os poucos ms de diferença na latência. No entanto, a Ásia e a América do Sul fizeram a diferença nas médias globais, pois alguns provedores não estão “lá muito bem interligados” por aquelas bandas.
- CloudFlare was the fastest DNS for 72% of all the locations. It had an amazing low average of 4.98 ms across the globe.
- Google and Quad9 were close for second and third respectively. Quad9 was faster than Google in North America and Europe, but under performed in Asia / South America.
- CloudFlare has a strong presence everywhere. While Google and Quad9 had some high response times from some locations, CloudFlare performed well from everywhere.
- Yandex is only for Russia. It doesn’t leverage Anycast like the other providers, and was very slow from everywhere.
- CleanBrowsing was the fastest provider offering adult (porn) content filtering.
- We know we can’t compare these providers 1 to 1, as they all have special features that can add some latency (Quad9 and Comodo blocks access to malicious domains, for example). Take the results as is.
Já o teste número 19, efetuado em solo português, nomeadamente no distrito da Guarda, através do ISP NOWO, não foi assim tão veloz como o esperado. Isso também é um factor que demonstra bem a realidade de viver numa cidade do interior do país. Aqui vão os resultados:
test1 test2 (...) test10 Average 8.8.8.8 49 ms 51 ms ... 48 ms 53.70 cloudflare 17 ms 19 ms ... 18 ms 18.10 level3 52 ms 58 ms ... 53 ms 53.50 google 53 ms 53 ms ... 51 ms 52.90 quad9 53 ms 48 ms ... 56 ms 50.90 freenom 120 ms 124 ms ... 121 ms 136.80 opendns 56 ms 48 ms ... 49 ms 54.70 norton 31 ms 31 ms ... 31 ms 31.00 cleanbrowsing 57 ms 64 ms ... 62 ms 60.40 yandex 90 ms 164 ms ... 125 ms 118.50 adguard 95 ms 93 ms ... 135 ms 99.60 neustar 25 ms 25 ms ... 26 ms 25.90 comodo 1000 ms 1000 ms ... 1000 ms 1000.00
Os resultados em detalhe na seguinte imagem:
Cloudflare foi o mais eficiente na média europeia (ver abaixo) — 2.96ms —, mas na verdade foram necessários 18.70 ms até obter a resposta em Portugal. Os resultados para os restantes DNS providers também podem ser analisados na tabela acima.
Resultados Globais do Estudo
Global Average #1 CloudFlare: 4.98 ms #2 Google: 16.44 ms #3 Quad9: 18.25 ms #4 CleanBrowsing: 19.14 ms #5 Norton: 34.75 ms #6 OpenDNS: 46.51 ms #7 Comodo: 71.90 #8 Yandex: 169.91 North America Average #1 CloudFlare: 3.93 ms #2 Quad9: 7.21 ms #3 Norton: 8.32 ms #4 Google: 8.53 ms #5 CleanBrowsing: 11.83 ms #6 OpenDNS: 14.66 ms #7 Comodo: 25.91 ms #8 Yandex: 119.09 ms Europe Average #1 CloudFlare: 2.96 #2 Quad9: 4.35 #3 CleanBrowsing: 5.74 #4 Google: 7.17 #5 OpenDNS: 8.99 #6 Norton: 10.35 #7 Comodo: 13.06 #8 Yandex: 35.74 Results Data USA, NewYork #1 Quad9 1.50 ms #2 CloudFlare 1.57 ms #4 Norton_DNS 7.28 ms #5 Google_DNS 7.71 ms #6 OpenDNS 9.71 ms #6 CleanBrowsing 10.85 ms #7 Comodo_DNS 12.00 ms #8 Yandex_DNS 108.14 ms USA, San Diego #1 CloudFlare 8.57 ms #2 Norton_DNS 9.00 ms #3 Google_DNS 14.28 ms #4 CleanBrowsing 19.28 ms #5 OpenDNS 19.42 ms #6 Quad9 19.42 ms #7 Comodo_DNS 40.00 ms #8 Yandex_DNS 193.57 ms Canada, Toronto #1 CloudFlare 3.42 ms #2 Google_DNS 9.42 ms #3 Norton_DNS 13.00 ms #4 CleanBrowsing 13.71 ms #5 Quad9 15.28 ms #6 OpenDNS 17.85 ms #7 Comodo_DNS 21.71 ms #8 Yandex_DNS 124.14 ms Canada, Montreal #1 CleanBrowsing 15.28 ms #2 Google_DNS 16.71 ms #3 CloudFlare 17.00 ms #4 Quad9 17.71 ms #5 OpenDNS 23.42 ms #6 Norton_DNS 25.71 ms #7 Comodo_DNS 84.28 ms #8 Yandex_DNS 118.85 ms USA, Atlanta #1 Quad9 1.71 ms #2 CloudFlare 1.85 ms #3 Google_DNS 4.14 ms #4 CleanBrowsing 15.42 ms #5 Norton_DNS 17.00 ms #6 OpenDNS 17.14 ms #7 Comodo_DNS 18.57 ms #8 Yandex_DNS 127.57 ms USA, Dallas #1 CloudFlare 2.10 ms #2 Norton_DNS 3.14 ms #3 Quad9 3.42 ms #4 OpenDNS 6.71 ms #5 Google_DNS 7.14 ms #6 CleanBrowsing 10.85 ms #7 Comodo_DNS 38.42 ms #8 Yandex_DNS 153.28 ms USA, Fremont #1 CloudFlare 2.00 ms #2 Norton_DNS 6.14 ms #3 Quad9 11.00 ms #4 CleanBrowsing 11.85 ms #5 Google_DNS 13.71 ms #6 Comodo_DNS 22.00 ms #7 OpenDNS 24.42 ms #8 Yandex_DNS 185.00 ms USA, San Francisco #1 Norton_DNS 2.00 ms #2 Quad9 2.14 ms #3 CloudFlare 2.85 ms #4 Google_DNS 12.28 ms #5 CleanBrowsing 21.14 ms #6 Comodo_DNS 22.14 ms #7 OpenDNS 28.00 ms #8 Yandex_DNS 180.42 ms UK, London #1 CloudFlare 1.14 ms #2 Quad9 1.85 ms #3 CleanBrowsing 2.00 ms #4 Norton_DNS 6.57 ms #5 Google_DNS 7.71 ms #6 Comodo_DNS 9.85 ms #7 OpenDNS 9.85 ms #8 Yandex_DNS 35.57 ms France, Paris #1 CloudFlare 5.14 ms #2 Comodo_DNS 10.00 ms #3 Google_DNS 10.14 ms #4 Quad9 12.71 ms #5 OpenDNS 13.57 ms #7 CleanBrowsing 14.85 ms #6 Norton_DNS 23.85 ms #8 Yandex_DNS 38.14 ms NL, Amsterdam #1 CloudFlare 1.14 ms #2 CleanBrowsing 1.14 ms #3 Quad9 1.71 ms #4 Google_DNS 2.71 ms #5 OpenDNS 4.42 ms #6 Norton_DNS 9.85 ms #7 Comodo_DNS 12.85 ms #8 Yandex_DNS 40.42 ms Germany, Frankfurt #1 Norton_DNS 1.14 ms #2 Quad9 1.14 ms #3 CloudFlare 4.42 ms #4 CleanBrowsing 5.00 ms #5 Google_DNS 8.14 ms #6 OpenDNS 8.14 ms #7 Comodo_DNS 19.57 ms #8 Yandex_DNS 28.85 ms Japan, Tokyo #1 CloudFlare 2.00 ms #2 CleanBrowsing 2.14 ms #3 Norton_DNS 6.14 ms #4 Google_DNS 17.28 ms #5 Quad9 40.57 ms #6 Comodo_DNS 124.14 ms #7 OpenDNS 125.71 ms #8 Yandex_DNS 283.00 ms Singapore #1 CloudFlare 1.14 ms #2 Google_DNS 2.00 ms #3 Quad9 2.14 ms #4 CleanBrowsing 2.28 ms #5 OpenDNS 28.14 ms #6 Norton_DNS 34.14 ms #7 Comodo_DNS 203.71 ms #8 Yandex_DNS 343.00 ms India, Bang #1 CloudFlare 7.42 ms #2 Norton_DNS 21.28 ms #3 Quad9 38.85 ms #4 Google_DNS 40.71 ms #5 OpenDNS 59.42 ms #6 CleanBrowsing 138.71 ms #7 Comodo_DNS 150.57 ms #8 Yandex_DNS 171.57 ms Australia, Sydney #1 CloudFlare 22.28 ms #2 Quad9 25.00 ms #3 Google_DNS 26.14 ms #4 CleanBrowsing 34.57 ms #5 OpenDNS 37.85 ms #6 Norton_DNS 164.57 ms #7 Comodo_DNS 186.28 ms #8 Yandex_DNS 352.14 ms Australia, Brisbane #1 CloudFlare 3.00 ms #2 CleanBrowsing 13.57 ms #3 Quad9 17.71 ms #4 Google_DNS 66.14 ms #5 Norton_DNS 160.14 ms #6 Comodo_DNS 188.28 ms #7 OpenDNS 190.28 ms #8 Yandex_DNS 336.71 ms Brasil, Sao Paulo #1 CloudFlare 2.71 ms #2 CleanBrowsing 12.00 ms #3 Google_DNS 29.71 ms #4 Norton_DNS 114.71 ms #5 Quad9 114.71 ms #6 Comodo_DNS 129.85 ms #7 OpenDNS 213.14 ms #8 Yandex_DNS 238.14 ms
Código Fonte de Teste
O autor do teste disponibilizou o código fonte usado na experiência na sua conta do GitHub. O trecho de código é também disponibilizado em seguida.
#!/usr/bin/env bash command -v bc > /dev/null || { echo "bc was not found. Please install bc."; exit 1; } { command -v drill > /dev/null && dig=drill; } || { command -v dig > /dev/null && dig=dig; } || { echo "dig was not found. Please install dnsutils."; exit 1; } NAMESERVERS=`cat /etc/resolv.conf | grep ^nameserver | cut -d " " -f 2 | sed 's/\(.*\)/&#&/'` PROVIDERS=" 1.1.1.1#cloudflare 4.2.2.1#level3 8.8.8.8#google 9.9.9.9#quad9 80.80.80.80#freenom 208.67.222.123#opendns 199.85.126.20#norton 185.228.168.168#cleanbrowsing 77.88.8.7#yandex 176.103.130.132#adguard 156.154.70.3#neustar 8.26.56.26#comodo " # Domains to test. Duplicated domains are ok DOMAINS2TEST="www.google.com amazon.com facebook.com www.youtube.com www.reddit.com wikipedia.org twitter.com gmail.com www.google.com whatsapp.com" totaldomains=0 printf "%-18s" "" for d in $DOMAINS2TEST; do totaldomains=$((totaldomains + 1)) printf "%-8s" "test$totaldomains" done printf "%-8s" "Average" echo "" for p in $NAMESERVERS $PROVIDERS; do pip=${p%%#*} pname=${p##*#} ftime=0 printf "%-18s" "$pname" for d in $DOMAINS2TEST; do ttime=`$dig +tries=1 +time=2 +stats @$pip $d |grep "Query time:" | cut -d : -f 2- | cut -d " " -f 2` if [ -z "$ttime" ]; then #let's have time out be 1s = 1000ms ttime=1000 elif [ "x$ttime" = "x0" ]; then ttime=1 fi printf "%-8s" "$ttime ms" ftime=$((ftime + ttime)) done avg=`bc -lq <<< "scale=2; $ftime/$totaldomains"` echo " $avg" done exit 0;