[dnsdist] Performance/tuning sanity check

Remi Gacogne remi.gacogne at powerdns.com
Tue Jan 3 15:42:56 UTC 2023


Hi Dan, Klaus,

I just noticed I messed up with my previous response and it never made 
it to the list, so I'm re-posting it now.

I don't see anything wrong with your configuration, Dan. You could look 
at the metrics to see if you are experiencing contention in the 
packet-cache and ring-buffers, and increase the number of shards in that 
case.

Other than that, I agree with Klaus that tuning the system itself 
becomes necessary above 400k QPS.
In addition to IRQ balance, I would suggest looking at:
- increasing receive and send buffers: see [1]
- unloading any module related to connection tracking
- setting a proper UDP flow load-balancing policy, see 'ethtool 
rx-flow-hash udp4 sdfn' and the likes
- setting up CPU pinning [2] so that 1/ all dnsdist threads are on the 
same NUMA cores 2/ dnsdist receivers threads are on the CPU cores 
handling NIC receive queues (which might involve disabling IRQ balance 
and directly assigning the IRQ affinity for the NIC queues)

Hope that helps,

[1]: https://dnsdist.org/reference/tuning.html#setUDPSocketBufferSizes
[2]: see the cpus option on 
https://dnsdist.org/reference/config.html#addLocal

-- 
Remi Gacogne
PowerDNS.COM BV - https://www.powerdns.com/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://mailman.powerdns.com/pipermail/dnsdist/attachments/20230103/29bf5f5a/attachment.sig>


More information about the dnsdist mailing list