Benchmark

The primary objective of the benchmarking is to compare authoritative name server implementations in different environments. Many things affect the performance from NIC manufacturer, drivers to zone contents. Because of this, we made the project open-source including the data sets, tools to build new ones and examples.

You can read or download the sources and data at our dns-benchmarking project page.

We carry out the automated tests regularly under various conditions on up-to-date versions of the software. That being said, if you'd like some other platform or nameserver included in the tests, feel free to write us to knot-dns-users@lists.nic.cz and we'll try our best to do something about it. Moreover, if you try the dnsbench on your configuration and you are willing to share the results, we'd be more than happy to add them to ours as it may help others with the same setup.

Response rate benchmark

The test is loosely based on the proven DISTEL testlab setup (presentation, p.28), that is used by the NLnet Labs to carry out DNS benchmarks. The difference is we use multiple query sources to fully saturate the server box (2x Intel Xeon CPU E5-2609 2.40GHz, 64 GiB RAM).

Open-source tools like tcpreplay or tcpdump are used to generate and capture traffic. This is not a selfpaced test like dnsperf and more accurately simulates an attack or a surge in traffic.

Notes & remarks

  • Explicit CFLAGS="-O2 -g -DNDEBUG"
  • Enabled SO_REUSEPORT if supported
  • BIND compiled with --enable-threads
  • PowerDNS with BIND zone file backend
  • The number of threads/processes is the same as the number of cores
  • Flushed filesystem and page cache before each test run