[Pdns-users] Recursor QPS ceiling

Morten Stevens mstevens at fedoraproject.org
Mon Dec 22 13:39:49 UTC 2014


2014-12-18 0:23 GMT+01:00 Ciro Iriarte <cyruspy at gmail.com>:
> Hi!, could anybody achieve more than 100k QPS on a recursor while hitting
> cache?.
>
> I only run two tests so far and in both cases the ceiling was around 100k
> QPS. The machine seems to be able to take more beating,  maybe I just need
> more clients or there's some kind of logic limit.

Hi,

Here is my result compared with bind and unbound:

1) pdns-recursor 3.6.2: 169k QPS
2) unbound 1.5.1: 327k QPS
3) bind 9.9.4-P2: 251k QPS

I am surprised that bind9 is much faster than pdns-recursor in my test...

Test machine:
- Fedora 20
- Linux 3.17.7
- Intel Xeon E5 2640 v3 (Haswell-EP)
- 32 GB DDR4 ECC Memory

Full dnsperf results:

1) pdns-recursor 3.6.2:

# dnsperf -d query3.txt -n 50 -c 4 -s 10.0.190.5
DNS Performance Testing Tool
Nominum Version 2.0.0.0
(example query data file: /usr/share/dnsperf/queryfile-example-current)

[Status] Command line: dnsperf -d query3.txt -n 50 -c 4 -s 10.0.190.5
[Status] Sending queries (to 10.0.190.5)
[Status] Started at: Mon Dec 22 13:22:57 2014
[Status] Stopping after 50 runs through file
[Status] Testing complete (end of file)

Statistics:

  Queries sent:         5356800
  Queries completed:    5356800 (100.00%)
  Queries lost:         0 (0.00%)

  Response codes:       NOERROR 5356800 (100.00%)
  Average packet size:  request 34, response 83
  Run time (s):         31.593883
  Queries per second:   169551.808494

  Average Latency (s):  0.000463 (min 0.000090, max 0.042554)
  Latency StdDev (s):   0.000116

2) unbound 1.5.1:

# dnsperf -d query3.txt -n 50 -c 4 -s 10.0.190.5
DNS Performance Testing Tool
Nominum Version 2.0.0.0
(example query data file: /usr/share/dnsperf/queryfile-example-current)

[Status] Command line: dnsperf -d query3.txt -n 50 -c 4 -s 10.0.190.5
[Status] Sending queries (to 10.0.190.5)
[Status] Started at: Mon Dec 22 13:18:21 2014
[Status] Stopping after 50 runs through file
[Status] Testing complete (end of file)

Statistics:

  Queries sent:         5356800
  Queries completed:    5356800 (100.00%)
  Queries lost:         0 (0.00%)

  Response codes:       NOERROR 5356800 (100.00%)
  Average packet size:  request 34, response 83
  Run time (s):         16.372054
  Queries per second:   327191.688960

  Average Latency (s):  0.000068 (min 0.000059, max 0.110226)
  Latency StdDev (s):   0.000073

3) bind 9.9.4-P2-RedHat-9.9.4-17.P2.fc20

# dnsperf -d query3.txt -n 50 -c 4 -s 10.0.190.5
DNS Performance Testing Tool
Nominum Version 2.0.0.0
(example query data file: /usr/share/dnsperf/queryfile-example-current)

[Status] Command line: dnsperf -d query3.txt -n 50 -c 4 -s 10.0.190.5
[Status] Sending queries (to 10.0.190.5)
[Status] Started at: Mon Dec 22 13:19:46 2014
[Status] Stopping after 50 runs through file
[Status] Testing complete (end of file)

Statistics:

  Queries sent:         5356800
  Queries completed:    5356800 (100.00%)
  Queries lost:         0 (0.00%)

  Response codes:       NOERROR 5356800 (100.00%)
  Average packet size:  request 34, response 83
  Run time (s):         21.312533
  Queries per second:   251345.065366

  Average Latency (s):  0.000235 (min 0.000064, max 0.051126)
  Latency StdDev (s):   0.000297



Best regards,

Morten




More information about the Pdns-users mailing list