[dns-operations] simple TCP/IP DNS benchmarking tool

bert hubert bert.hubert at netherlabs.nl
Tue Jun 11 14:58:11 UTC 2013

Hi everybody,

Recently we had a thread here on the challenges of benchmarking TCP/IP DNS
performance, and the dearth of tools.

Because of a user's query, we've made a very simple tool.

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

		www.powerdns.com ANY 
		powerdns.com MX

Manpage: https://raw.github.com/PowerDNS/pdns/master/pdns/docs/dnstcpbench.1.txt

The tool is included in our GitHub master branch. 

Here are the build depencies 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!


More information about the dns-operations mailing list