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.