O motivo pelo qual você está perdendo as ocorrências de cache é que as consultas de escavação do DNS diretamente. Você pode tentar e ver se o cache funciona com o comando getent
:
getent hosts host.example.com
Executar um DNS separado em cache é uma boa ideia, mas você deve considerar executá-lo no nível da rede, se possível. Se cada host armazenar em cache os dados separadamente, eles ainda executarão várias consultas para os mesmos hosts. O cache único funciona em torno desse problema.
O próprio nscd é um daemon de armazenamento em cache para funções do NSS. Portanto, o foco é um pouco diferente dos servidores de nome de armazenamento em cache nativos. Portanto, se você quiser apenas um servidor de nomes de armazenamento em cache, use algo diferente do nscd. Se, em vez disso, você quiser colocar em cache coisas como nomes de usuários e dados de host compartilhados fora do sistema DNS normal, vá para nscd.
E para o registro, eu gostei bastante do resolvedor powerdns (pdns-resolver).