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.

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

  • BIND9 was compiled with --enable-threads
  • NSD 4 was compiled with --enable-root-server and run with SO_REUSEPORT enabled
  • PowerDNS uses 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