Como medir a eficiência do cache DNS / itens armazenados em cache?

13

Eu configurei dnsmasq como um servidor DNS somente de cache em um servidor Debian, e está funcionando bem (estou vendo tempos de resposta aprimorados do DNS via dig).

No entanto, eu gostaria de entender o que dnsmasq está armazenando em cache a qualquer momento, para que eu possa começar a pensar na eficiência (ou seja, taxa de acertos) que estou alcançando.

Eu dei uma olhada nas páginas man e na web, e não consigo ver como eu vejo o que dnsmasq está armazenando em cache a qualquer momento (ao contrário do que você pode fazer para as concessões, por exemplo, arquivo dnsmasq.lease).

O cache dnsmasq DNS está armazenado somente na memória? Ou eu tenho que fazer algum arquivo de log?

    
por binaryfrost 19.10.2014 / 13:47

1 resposta

17

Eu não tenho acesso a dnsmasq , mas de acordo com este tópico intitulado: dnsmasq é caching? você pode enviar o sinal USR1 para o processo dnsmasq , fazendo com que ele despeje estatísticas no log do sistema.

$ sudo pkill -USR1 dnsmasq

Em seguida, consulte os registros do sistema:

$ sudo tail /var/log/syslog
Jan 21 13:37:57 dnsmasq[29469]: time 1232566677
Jan 21 13:37:57 dnsmasq[29469]: cache size 150, 0/475 cache insertions re-used unexpired cache entries.
Jan 21 13:37:57 dnsmasq[29469]: queries forwarded 392, queries answered locally 16
Jan 21 13:37:57 dnsmasq[29469]: server 208.67.222.222#53: queries sent 206, retried or failed 12
Jan 21 13:37:57 dnsmasq[29469]: server 208.67.220.220#53: queries sent 210, retried or failed 6

OBSERVAÇÃO: acredito que dnsmasq conserve seu cache na RAM.

Portanto, se você quiser despejar o cache, será necessário ativar a opção -q quando dnsmasq for chamado. Isso é mencionado na página dnsmasq man:

   -d, --no-daemon
        Debug mode: don't fork to the background, don't write a pid file, 
        don't change user id, generate a complete cache dump  on
        receipt on SIGUSR1, log to stderr as well as syslog, don't fork new 
        processes to handle TCP queries. Note that this option is for use in 
        debugging only, to stop dnsmasq daemonising in production, use -k.

   -q, --log-queries
        Log the results of DNS queries handled by dnsmasq. Enable a full 
        cache dump on receipt of SIGUSR1.
    
por 20.10.2014 / 05:10

Tags