[Pdns-users] simple TCP/IP DNS benchmarking tool

bert hubert bert.hubert at netherlabs.nl
Tue Jun 11 17:17:56 UTC 2013

Hi everybody - with the ongoing UDP reflection attacks and the rise of
DNSSEC, DNS over TCP/IP is getting ever more important. Up til now, it was
hard to benchmark TCP/IP performance of nameservers. 

Because of a user's query, we've made a very simple tool to do just that.

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 zlib1g-dev

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!


PowerDNS Website: http://www.powerdns.com/
Contact us by phone on +31-15-7850372

More information about the Pdns-users mailing list