Simple TCP/IP DNS benchmarking tool

Jun 25, 2013

In our work, we frequently find that we need tools to do specific tests. Today, because of a query from one of our users, we wrote a new tool to cover such a need: TCP DNS benchmarking.

It is not very sophisticated, but it does the job. We’ve learned that PowerDNS does around 20000 TCP/IP queries/second out of the box on a few years old server, a number we did not previously know.

From the manpage:

dnstcpbench reads DNS queries from standard input and sends them out
in parallel to a remote nameserver. By default TCP/IP is used, but
optionally, UDP is tried first, which allows for the benchmarking of
TCP/IP fallback.

The input format is one query per line: qname single-space qtype. An
example:
        www.powerdns.com ANY
        powerdns.com MX

You can read the manual page on GitHub.

The tool is included in our GitHub master branch.

Here are the build dependencies for Debian 7:

apt-get install autoconf automake bison flex g++ libboost-all-dev libtool
make pkg-config ragel

To compile:

$ git clone https://github.com/PowerDNS/pdns.git
$ cd pdns
$ ./bootstrap
$ ./configure --with-modules="" --without-lua
$ cd pdns
$ make dnstcpbench

Good luck & please let us know your thoughts & suggestions!

About the author

Peter van Dijk

Peter van Dijk

Senior Developer at PowerDNS

Related Articles

PowerDNS Authoritative Server 4.9.0

This is release 4.9.0 of the Authoritative Server. It brings a few new features, and a collection of small improvements and...

Peter van Dijk Mar 15, 2024

PowerDNS Authoritative Server 4.9.0-beta2

This is release 4.9.0-beta2 (beta1 was not released, due to a tagging mistake) of the Authoritative Server. It brings a few...

Peter van Dijk Feb 16, 2024

PowerDNS Authoritative Server 4.9.0-alpha1

This is release 4.9.0-alpha1 of the Authoritative Server. It brings a few new features, and a collection of small...

Peter van Dijk Jan 12, 2024

PowerDNS Authoritative Server 4.8.4

Hello! This is the release of Authoritative Server 4.8.4. In Authoritative Server 4.8, the LMDB backend gains a new...

Peter van Dijk Dec 21, 2023