[Pdns-users] Performance optimizations in recursor

bert hubert bert.hubert at powerdns.com
Fri Apr 8 18:04:05 UTC 2016


Hi Miguel,

Can you share your metronome data? Could you also try against our 4.0
'master' packages on http://repo.powerdns.com/ ?  Those are the ones that we
tested recently for performance.

If you want to improve numbers by 25% or so, install libtcmalloc (the thread
caching malloc) and LD_PRELOAD it. Nice to impress people.

Usually if PowerDNS is slow it is bumping into some limit like number of
file descriptors.  This shows up pretty well on Metronome.  We can quickly
diagnose any issues if we see the numbers. You can also send them to our
metronome
http://blog.powerdns.com/2014/12/11/powerdns-graphing-as-a-service/

If you have a 16% cache hitrate you are probably not seeing "real" traffic
since that usually has at least 90% cache hitrate.

Fwiw, this is what we measured recently on various traffic scenarios:

All numbers are on 4-core Intel CPUs (Xeon CPU E3-1231 v3 @ 3.4GHz, i7-4770K @ 3.5GHz). Both ±4GB RAM used.
Xeon: 10 gigabit ethernet, Linux kernel 3.19, i7: gigabit, Linux kernel 3.13.

* 2M queries from Alexa top-1 million list, 100% cache hitrate: 1.6 MQPPS (Xeon)
* 2M queries from Alexa top-1 million list, 98% cache hitrate: 750 KQPS (Xeon)
* 2M queries from Alexa top-1 million list, 95% cache hitrate: 550 KQPS (Xeon)
* Replay of real life provider traffic, including ongoing DoS attacks: 400 KQPS (i7)
* Replay of real life provider traffic with 50% of traffic with ‘parental
  filtering’ with time filtering, black list and whitelist and DoS attack:
  150 KQPS – 200 KQPS (i7, XEON)

The 400kqps number is the most relevant one for your case - this is "traffic
you actually get", and not some kind of synthetic benchmark.

	Bert


On Fri, Apr 08, 2016 at 11:52:58AM -0600, Miguel Miranda wrote:
> Well, i am not having problems, i mean no customer complaints, but we are
> evaluating a dns platform (infoblox) and by reading their logs it is using
> bind, everywhere in the net i read "anyone can outperform bind" but using
> dnsbench (https://www.grc.com/dns/benchmark.htm) the inforblox box always
> beat my powerdns box and reading the tabular data the culprit is dns cache
> data, .i.e:
> 
> Infoblox |  Min  |  Avg  |  Max  |Std.Dev|Reliab%|
>   ----------------+-------+-------+-------+-------+-------+
>   - Cached Name   | 0.001 | 0.001 | 0.003 | 0.000 | 100.0 |
>   - Uncached Name | 0.031 | 0.074 | 0.292 | 0.055 | 100.0 |
>   - DotCom Lookup | 0.052 | 0.105 | 0.439 | 0.113 | 100.0 |
>   ---<-------->---+-------+-------+-------+-------+-------+
> 
> 
>   powerdns |  Min  |  Avg  |  Max  |Std.Dev|Reliab%|
>   ----------------+-------+-------+-------+-------+-------+
>   - Cached Name   | 0.001 | 0.001 | 0.002 | 0.000 | 100.0 |
>   - Uncached Name | 0.030 | 0.079 | 0.203 | 0.053 |  97.9 | ********* HERE
> ******
>   - DotCom Lookup | 0.030 | 0.033 | 0.065 | 0.007 | 100.0 |
>   ---<-------->---+-------+-------+-------+-------+-------+
> 
> i have a local copy of metronome, that is why im asking about the low cache
> hit rate (16% as show in metronome)
> 
> 
> On Fri, Apr 8, 2016 at 11:11 AM, <sthaug at nethelp.no> wrote:
> 
> > > Hello to all, i have followed to the letter the performance tunning
> > > document, this is my recursor.conf:
> > >
> > > setuid=pdns-recursor
> > > setgid=pdns-recursor
> > > daemon=yes
> > > dont-query=127.0.0.0/8
> > > local-address=127.0.0.1
> > > log-common-errors=no
> > > loglevel=4
> > > max-cache-entries=4000000
> > > max-negative-ttl=30
> > > max-packetcache-entries=4000000
> > > packetcache-servfail-ttl=30
> > > server-down-max-fails=16
> > > quiet=yes
> > > threads=4
> > > security-poll-suffix=
> > > dnssec=off
> > >
> > > This is running on 2 x quad core 32GB RAM pdns-recursor 4 alpha. As it is
> > > indicated by the document as i high packet cache hit rate 87% and low
> > cache
> > > hit rate 16%. Seeing this numbers, should i increase the
> > > max-packetcache-entries
> > > value or to lower the max-cache-entries to get better performace? Or am i
> > > doing good if i keep this values?
> >
> > Do you have *problems* with you current configuration? If not - why are
> > you worried about performance?
> >
> > It might be interesting to know your queries per second levels. Also, I
> > highly recommend using the PowerDNS "Graphing as a Service" described
> > here:
> >
> >     http://blog.powerdns.com/2014/12/11/powerdns-graphing-as-a-service/
> >
> > Steinar Haug, AS2116
> >

> _______________________________________________
> 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