[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