[Pdns-users] PowerDNS recursor on multi-core machine

bert hubert bert.hubert at powerdns.com
Wed May 6 09:13:35 UTC 2015


On Wed, May 06, 2015 at 03:00:57PM +0700, Vu Le wrote:
> Does 8-core limitation still apply for recent version of
> pdns-recursor? If the answer is yes, what is the best way to fully
> utilize all cores on a 20-core machine. I guest I will have to use
> multiple instance?

Hi Vu Le,

It really depends - we've been doing measurements, and find that while more
cores do not increase bulk performance a lot, they do wonderful things for
query latency, especially when under some kind of attack.

But it is probably still true that threads=20 does not get you the best
performance.

You might get very good results with 4 PowerDNS Recursor each with
threads=4, and then use dnsdist to loadbalance between them. You can also
just run 4 recursors on 4 IP addresses of course and hand those out.

For more details, see http://dnsdist.org/

The reasons why we can't scale to infinity are multiple by the way. Threads
share stuff, even when you don't want them to: they share the socket, a
random generator, the malloc implementation, and within the C and C++
libraries there are loads of locks. 

We currently recommend that you try to scale to no more than 70kqps per
server, as above that level, the resulting query loads can start to reach
500kqps which tends to max out most server hardware, unless you are very
careful.

Good luck!

	Bert


> 
> Thanks everybody
> Vu Le.
> 
> P/S: Sorry for accidentally hitting send button on last email.
> 
> _______________________________________________
> Pdns-users mailing list
> Pdns-users at mailman.powerdns.com
> http://mailman.powerdns.com/mailman/listinfo/pdns-users
> 




More information about the Pdns-users mailing list