[dns-operations] DNS server benchmarking sanity check

Anand Buddhdev anandb at ripe.net
Sun Aug 14 20:17:03 UTC 2016


On 14/08/16 12:47, Florian Weimer wrote:

>> Thanks for this. Both Knot and NSD have code to use SO_REUSEPORT. In
>> NSD, it can be turned on or off in the configuration, and so I'm testing
>> both modes. NSD with SO_REUSEPORT performs *much* better.
> 
> Why is this so?  Does NSD use I/O multiplexing?

NSD can spawn multiple processes, and each process binds to a socket.
However, the kernel doesn't distribute queries evenly amongst the
processes. This can lead to some processes being overworked while others
are lightly loaded.

SO_REUSEPORT solves this by letting the kernel divide the queries much
more evenly amongst all the processes, so that they can deliver the
maximum number of responses each.

Regards,
Anand





More information about the dns-operations mailing list