<div dir="ltr">Thanks Remi! I'm glad you noticed that message hadn't gone through.<br><br>I'll take a look at what you mentioned, I wasn't even aware of the CPU optionsĀ for addLocal.<br><br>I spent some time looking through the thread Nicolas shared at <a href="https://mailman.powerdns.com/pipermail/dnsdist/2017-April/000281.html">https://mailman.powerdns.com/pipermail/dnsdist/2017-April/000281.html</a> of his performance tuning experience. Do you know if it's still the case in newer versions of dnsdist to need multiple instances of dnsdist running on a machine this size (32 cores) rather than just additional listeners via addLocal to really push past 400kQPS? I just want to make sure I'm not working off out-of-date information.<br><br>Thanks again,<br><br>-Dan</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Jan 3, 2023 at 10:43 AM Remi Gacogne via dnsdist <<a href="mailto:dnsdist@mailman.powerdns.com">dnsdist@mailman.powerdns.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi Dan, Klaus,<br>
<br>
I just noticed I messed up with my previous response and it never made <br>
it to the list, so I'm re-posting it now.<br>
<br>
I don't see anything wrong with your configuration, Dan. You could look <br>
at the metrics to see if you are experiencing contention in the <br>
packet-cache and ring-buffers, and increase the number of shards in that <br>
case.<br>
<br>
Other than that, I agree with Klaus that tuning the system itself <br>
becomes necessary above 400k QPS.<br>
In addition to IRQ balance, I would suggest looking at:<br>
- increasing receive and send buffers: see [1]<br>
- unloading any module related to connection tracking<br>
- setting a proper UDP flow load-balancing policy, see 'ethtool <br>
rx-flow-hash udp4 sdfn' and the likes<br>
- setting up CPU pinning [2] so that 1/ all dnsdist threads are on the <br>
same NUMA cores 2/ dnsdist receivers threads are on the CPU cores <br>
handling NIC receive queues (which might involve disabling IRQ balance <br>
and directly assigning the IRQ affinity for the NIC queues)<br>
<br>
Hope that helps,<br>
<br>
[1]: <a href="https://dnsdist.org/reference/tuning.html#setUDPSocketBufferSizes" rel="noreferrer" target="_blank">https://dnsdist.org/reference/tuning.html#setUDPSocketBufferSizes</a><br>
[2]: see the cpus option on <br>
<a href="https://dnsdist.org/reference/config.html#addLocal" rel="noreferrer" target="_blank">https://dnsdist.org/reference/config.html#addLocal</a><br>
<br>
-- <br>
Remi Gacogne<br>
PowerDNS.COM BV - <a href="https://www.powerdns.com/" rel="noreferrer" target="_blank">https://www.powerdns.com/</a><br>
_______________________________________________<br>
dnsdist mailing list<br>
<a href="mailto:dnsdist@mailman.powerdns.com" target="_blank">dnsdist@mailman.powerdns.com</a><br>
<a href="https://mailman.powerdns.com/mailman/listinfo/dnsdist" rel="noreferrer" target="_blank">https://mailman.powerdns.com/mailman/listinfo/dnsdist</a><br>
</blockquote></div>