[Dnsmasq-discuss] Measuring dnsmasq performance

Ameretat Reith ameretat.reith at gmail.com
Sun Nov 13 05:46:44 GMT 2016


Recently I was assigned to same task then built a tsung plugin to storm
resolvers, code is available here [1].  You can take a look at reports [2]
targetting bind and dnsmasq.

Reports are collected from a 5 hours run, increasing requests rate 
gradually
from 100 per seconds to 500.  I made two type of requests which are shown 
as
tr_cached and tr_normal.  Cached requests are knwon to dnsmasq by
"server=/domain/ip" in config and always being sent to dnsmasq which is
behind of bind or another dnsmasq based on scenario.  Normal requests being
forwarded to top level resolver.  I used only a couple of domains.  Matched
counter shows number of responds which were correct, so there was no server
failure here and resolver returned expected IP.  Matched counter counts 
just
normal requests.  Timeout counter is number of request timed out after 60
seconds.  On UDP there is always some requests being forgotten.

I removed monitoring reports since they were related to client not server.
My goal was measuring service availability rather than performance.

I may retry this test with server resource charts included but for now I 
can
say on highest load on bind, one cores of a 2.8G Xenon CPU was saturated
while dnsmasq CPU usage was never noticable.  Maybe another test targetting
many concurrent requests of different domains show constrasting result, but
even on wild production scenarios we often see dnsmasq resource usage 
remain
very low and instead It won't respond to some requests (reaching max number
of forwarding requests)

Hope It helps.

1: https://github.com/reith/tsung_dns
2: http://file.reith.ir/dns-tsung-report.tar.gz



More information about the Dnsmasq-discuss mailing list