Subject: [dnsop] 86198 queries per second from BIND 9

From: [email-masked]
Date: Fri, 26 May 2006 16:27:38 +0100

Hi,

I have just started testing some new DNS servers and thought you might be 
interested in the initial results. I am able to get 86198 qps from a 
single BIND 9.4.0a5 server and 67270 qps from a single BIND 9.3.2 server.

So far I have tested BIND 9.4.0a5 and 9.3.2 but I am planning to have a 
play with other versions and different nameserver software as well.

The server hardware is a Sun T2000 with 8 cores. Each core can run 4 
threads giving a total of 32 virtual processors. This is running Solaris 
10 01/06 and is connected using 4 interfaces to a gigabit switch. Each 
interfaces has a separate IP address and IPMP is used to spread the 
replies across all 4 interfaces. I wanted to use link aggregation so that 
I could have a single IP address but this is not yet supported by Solaris 
10 on this hardware. (Will be the subject of future testing).

For load generation I am using a set of HP blade servers running FreeBSD 
6.0 and queryperf from bind 9.3.2.

I have a simple zone containing 129032 A records like these
test-1-1-1-1    IN      A       1.1.1.1
test-1-1-1-2    IN      A       1.1.1.2
...

The queryperf input file is constructed using a zone transfer like this
dig @10.0.0.1 jadjadjad.example.com axfr | awk ' { print $1 " " $4 }' > 
qp.in

queryperf is run for 1 min. like this:
queryperf -s 10.0.0.1 -d qp.in -l 60

Using Bind 9.3.2
Using a single client sending to one of the server interfaces I get: 
Queries per second:   35271

Using 2 clients running at the same time sending to 2 of the server 
interfaces gives:
Queries per second client 1:    31495
Queries per second client 2:    31726
Total                           63221 qps

Using 8 clients running at the same time sending to all 4 server 
interfaces gives:
Queries per second client 1:     8579
Queries per second client 2:     8447
Queries per second client 3:     8452
Queries per second client 4:     8383
Queries per second client 5:     8465
Queries per second client 6:     8359
Queries per second client 7:     8327
Queries per second client 8:     8258
Total                           67270 qps

Using Bind 9.4.0a5
Using 8 clients running at the same time sending to all 4 server 
interfaces gives:
Queries per second client 1:    10911
Queries per second client 2:    10739
Queries per second client 3:    10704
Queries per second client 4:    10693
Queries per second client 5:    11056
Queries per second client 6:    10889
Queries per second client 7:    10613
Queries per second client 8:    10593
Total                           86198 qps

(queryperf reports that 0 queries are lost.)

I will also be doing tests with real zone files and "real world" query 
data. The T2000 is also interesting for DNSSEC. It has 1 hardware crypto 
accelerator per core and I have been able to sign a test zone at about 
5400 sig/sec. openssl speed tests suggest that 12000 sig/sec with rsa1024 
should be possible.

I would be very interested to hear about other peoples experience of load 
testing nameservers on this and other hardware. Any questions and 
suggestions for other tests as also welcome.

John Dickinson
Senior Researcher
Nominet
.
dnsop resources:_____________________________________________________
web user interface: http://darkwing.uoregon.edu/~llynch/dnsop.html
mhonarc archive: http://darkwing.uoregon.edu/~llynch/dnsop/index.html