[dns-operations] DNS server benchmarking sanity check
x2t at foxtrot.emu.st
Mon Aug 15 19:45:52 UTC 2016
> On my hardware (10 cpus, visible as 20 to the OS), running nsd with 20
> worker processes and SO_REUSEPORT, it is able to answer 100% of the
> queries at 1.2 million q/s
And this is on a single IP/port? If so, that's pretty good. If it's
multiple IPs/ports, that's in line with what I remember seeing.
> The other name servers don't use multiple processes, but instead use
Right. This is more getting into whether a particular implementation
is optimal vs absolute thruput of a system. I'm presuming this thread
is more about the latter.
> at which point cpu usage is 100%
As others have mentioned the ratio between user/sys would be
interesting as well as how that ratio changes as you add cores.
After about 10 cores I could keep adding them but all it did was
increase system time with no increase in qps.
> once cpu utilisation is at 100%, there's probably not much more I can do
Unless most of the cpu is kernel spin-locking or similar. Not a
problem you can fix directly, but good to know.
One way I used to measure this was system time per query. If the
kernel is efficient it should stay just shy of linear as you add cpus
rather than exhibit a dramatic dropoff.
More information about the dns-operations