Nakonfiguroval jsem dnsmasq
jako server DNS pouze pro ukládání do mezipaměti na serveru Debian a funguje dobře (zaznamenávám lepší časy odezvy DNS prostřednictvím dig).
Rád bych však pochopil, co dnsmasq
je ukládání do mezipaměti kdykoli, abych mohl začít přemýšlet o efektivitě (tj. o míře návštěvnosti), které dosahuji.
Prohlédl jsem si manuálové stránky a web a nemohu najít, jak vidím co dnsmasq
je ukládání do mezipaměti v libovolném bodě (na rozdíl od například pronájmů, které jsou uchovávány v souboru dnsmasq.lease).
Je dnsmasq
DNS cache uložená pouze v paměti? Nebo musím provést nějaké mungování souboru protokolu?
Přijatá odpověď:
Nemám přístup k dnsmasq
ale podle tohoto vlákna s názvem:dnsmasq je to cachování? můžete odeslat signál USR1 do dnsmasq
proces, což způsobí výpis statistik do systémového protokolu.
$ sudo pkill -USR1 dnsmasq
Poté se podívejte do systémových protokolů:
$ 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
POZNÁMKA: Věřím, že dnsmasq
uchovává svou mezipaměť v paměti RAM.
Pokud tedy chcete vypsat mezipaměť, budete muset povolit -q
přepnout při dnsmasq
je vyvoláno. Toto je zmíněno v dnsmasq
manuálová stránka:
-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.