[dnsdist] dnsdist performance

Remi Gacogne remi.gacogne at powerdns.com
Sun Aug 11 16:26:47 UTC 2019


Hi Klaus,

On 8/10/19 10:30 PM, Klaus Darilion wrote:
> I had similar results. Starting 4 listening threads and 4 receivers
> threads (by adding the same backend 4 times) boosted my performance -
> almost linear.

Similar in terms of QPS as well? I just tested master on Arch using
calidns and dumresp as a responder, and I get 55k+ QPS on my 10 year-old
CPU using no tuning, simply:

./dnsdist -C /dev/null -l 127.0.0.1:53 127.0.0.1:54

So one listening thread and one receiver thread.

A quick glance at a perf recording shows that more than 76% of the CPU
time is spent in syscalls, so I'm pretty sure disabling the
meltdown/spectre mitigations would do a big difference, but it's already
pretty far from 5-15K QPS.

If you increase the number of threads you'll need to use ring buffers
sharding to limit contention, by the way.

Best regards
-- 
Remi Gacogne
PowerDNS.COM BV - https://www.powerdns.com/

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://mailman.powerdns.com/pipermail/dnsdist/attachments/20190811/b0df6a2c/attachment.sig>


More information about the dnsdist mailing list