Performance optimizations in recursor

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Performance optimizations in recursor

Miguel Miranda-2
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? 

_______________________________________________
Pdns-users mailing list
[hidden email]
https://mailman.powerdns.com/mailman/listinfo/pdns-users
Reply | Threaded
Open this post in threaded view
|

Re: Performance optimizations in recursor

sthaug
> 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
[hidden email]
https://mailman.powerdns.com/mailman/listinfo/pdns-users
Reply | Threaded
Open this post in threaded view
|

Re: Performance optimizations in recursor

Miguel Miranda-2
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, <[hidden email]> 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
[hidden email]
https://mailman.powerdns.com/mailman/listinfo/pdns-users
Reply | Threaded
Open this post in threaded view
|

Re: Performance optimizations in recursor

bert hubert-3
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, <[hidden email]> 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
> [hidden email]
> https://mailman.powerdns.com/mailman/listinfo/pdns-users

_______________________________________________
Pdns-users mailing list
[hidden email]
https://mailman.powerdns.com/mailman/listinfo/pdns-users