[dns-operations] DNS server benchmarking sanity check

Robert Edmonds edmonds at mycre.ws
Sat Aug 13 18:14:12 UTC 2016


Anand Buddhdev wrote:
> Now I know that there is a LOT more tweaking and tuning that can be
> done. For example the 10 GB NICs have lots of tunables. In addition,
> there are things like CPU affinity, IRQ affinity, etc that could be
> tweaked. But let's assume that we don't want to get into that level of
> tweaking and tuning, and just want to use the defaults of the OS with
> minimal adjustment, is this setup okay? Are there any other Linux kernel
> adjustments, especially on the DNS server, that should be adjusted for
> high packet rates?

There's the SO_REUSEPORT socket option, which has been in the kernel
since 3.9. See this presentation for details:

https://domsch.com/linux/lpc2010/Scaling_techniques_for_servers_with_high_connection%20rates.pdf

Unfortunately it's not a global kernel tunable that you can just turn
on; the daemon has to explicitly opt in by creating a separate socket
for each worker thread and turning on the SO_REUSEPORT option for each
socket.

Knot DNS has SO_REUSEPORT support built-in (I think it can be disabled
at compile time), BIND doesn't, not sure about Yadifa.

-- 
Robert Edmonds



More information about the dns-operations mailing list