Já faz um tempo que estou querendo usar um Raspberry Pi como cache de dns na rede local. Mas afinal quantas requisições por segundo vindas do cache ele consegue entregar? Irei usar 3 softwares de dns, o vovô bind, dnsmasq e o relativamente "novo" unbound. Vamos nos focar no desempenho do cache em sí, mas inevitavelmente existem diversas variáveis que influenciam os testes, como alguns domínios não existentes sendo requisitados novamente, tempo de resposta variável do servidor como forward ( do ISP ), recriar um cenário real é relativamente difícil e a cada execução do mesmo teste os resultados encontram variações. Iremos produzir testes básicos para ter ao menos uma noção de como a banda toca.
Os servidores foram configurados com forward para o dns do meu ISP, os testes iniciais foram feitos com 5000 requisições usando repetidamente 100 domínios variados A,AAAA,MX,PTR, antes de cada teste foi feito o carregamento do cache.
O software utilizado para o benchmark é o dnsperf.
As versões dos respectivos softwares são as seguintes:
BIND 9.8.4
Dnsmasq 2.62
Unbound 1.4.17
Dnsperf 2.0
O Raspberry Pi é a versão B de 256MB rodando Raspbian.
Observação: o máximo de uso do Dnsmasq na maioria dos testes não passou de 30% mesmo após alguns tweaks.
Vamos aos resultados, clique para ampliar:
Requisições por segundo |