[Pdns-users] PowerDNS Recursor Performance and Tuning

Otto Moerbeek otto at drijf.net
Sun Jan 16 08:12:35 UTC 2022


On Sun, Jan 16, 2022 at 09:05:55AM +0100, Otto Moerbeek via Pdns-users wrote:

> On Sun, Jan 16, 2022 at 09:39:01AM +0330, Hamed Haghshenas via Pdns-users wrote:
> 
> > Hello Dears,
> > 
> >  
> > 
> > I install PowerDNS Recursor 4.6.0 on CentOS Linux release 7.9.2009. and
> > configure it as bellow for Iran IP address. I want use it in my ISP
> > environment for large scale and lots of DNS requests. 
> 
> A more modern distribution might be better. What do you call lots?
> 
> > My Server have 4 core 2.6 Ghz (x64) and 8GB Ram (KVM Virtualization), I can
> > apply more cpu or ram.
> 
> If you have 8G of RAM, likely the default cache sizes could be
> enlarged (max-cache-entries for the record cache and
> max-packetcache-entries for the packet cache)
> 
> Virtulization *could* be an issue, for example when the network
> interface is virtualized in a way thet hinders performance. 
> 
> > Could you please help me that is my configuration correct? How many
> > distributor-threads and threads should I use? (same as number of cpu cores
> > or more).
> 
> Some comments inline below.
> 
> > 
> > Need something to change, or any kernel optimization ?
> >  
> > 
> > allow-from-file=/etc/pdns-recursor/IP-Iran-List.txt
> > 
> > setuid=pdns-recursor
> > 
> > setgid=pdns-recursor
> > 
> > local-address=127.0.0.1 172.16.1.186
> 
> If you are using NAT: this *kills* the performance. See
> https://docs.powerdns.com/recursor/performance.html
> 
> > 
> > any-to-tcp=yes
> > 
> > distribution-load-factor=1.25
> > 
> > pdns-distributes-queries=yes
> > 
> > distributor-threads=4
> 
> Depending on kernel version and other factors resuseports and multiple
> distributor thread might work better or not, best to start with
> reuserport=no and distributor-threads=1, test & measure and then
> change to yes and 4 and compare performance on your actual setup.
> 
> > 
> > dnssec=validate
> > 
> > dnssec-log-bogus=yes
> 
> If you see a lot ot bogus results this might impact performance
> 
> > entropy-source=/dev/random
> 
> This is likely slow, better use the default setting (leave it out).

Correction: this *is* the default. Normally it only is used if
rng=urandom, so it does not matter at all. It's best to leave out
default settings anyway.

> 
> > 
> > logging-facility=0
> > 
> > lowercase-outgoing=yes
> 
> why? 
> 
> > max-tcp-queries-per-connection=10
> > 
> > quiet=no
> 
> This amount of logging will kill performance
> 
> > reuseport=yes
> 
> See above
> 
> > 
> > threads=4
> 
> You might want to reduce it to 3 if you use 1 distribnutor thread, as
> the total number of threads doing lots of work is distributor threads +
> worker threads.  This is depedent on your cach hit ratios. Again:
> try and measure.
> 
> 	-Otto
> _______________________________________________
> Pdns-users mailing list
> Pdns-users at mailman.powerdns.com
> https://mailman.powerdns.com/mailman/listinfo/pdns-users


More information about the Pdns-users mailing list