Published in


DNS performance benchmarking by Google

Today I came across namebench by Google, a DNS (domain name system) benchmarking tool and gave it a try. To my surprise, namebench determined that a DNS server owned by BT and located in the UK was faster than my own or my provider’s DNS servers, both of which are located in France.

In fact, this is the damning message that namebench gave me:

namebench 1.0.5 - data/alexa-top-10000-global.txt (weighted) on 2009-12-12 09:15:57.450225
threads=40 tests=200 runs=1 timeout=2.0 health_timeout=4.0 servers=10
... (snip!) ...********************************************************************************
In this test, BT-70 GB is 274.4% faster than your current primary DNS server

Follwing is a chart generated by the data generated by namebench (click on it to enlarge). My primary DNS server is represented by SYS- (cyan) and secondary by SYS- (yellow). My service provider is SYS- (purple):

Namebench Chart

The primary server is accessible internally only, powered by BIND9 in a typical split DNS setup. It provides the local names of internal servers (which may be different from public names) and it will cache responses for external servers (like through the upstream server, which are the DNS servers owned by my service provider.

As this and the chart below will show, the response times of my service provider’s DNS serer are rather poor. This directly correlates to a poor performance on my own primary DNS server:

Mean Response Times

My secondary DNS server, powered by PowerDNS, is publicly accessible. However, on the public side it will only answer requests directly related to servers I own. Internally, it will also do this and cache responses for other external servers I do not own. The upstream DNS server is OpenDNS.

In the first namebench chart you can see how well my secondary DNS server is performing. But strangely enough, BT’s “BT-70” DNS server is providing an even better performance, particularly in response times as shown in the second chart. Because of this, namebench came to this final conclusion:

Recommended configuration (fastest + nearest):
— — — — — — — — — — — — — — — — — — — — — — —
nameserver # BT-70 GB
nameserver # SYS-
nameserver # SYS- NXDOMAIN Hijacking

In other words, I should move my current primary and secondary servers a position down, and use BT’s DNS server as the primary instead. (A note the “NXDOMAIN Hijacking”, which is explained here, I do not practice in this behaviour!)

Despite the fact I was unaware of the overall poor quality of my provider’s DNS servers until now, I will actually keep the primary and secondary servers in their current position. Instead I will be replacing the primary upstream DNS server with OpenDNS (which is currently the case for my secondary server) or with BT’s “BT-70”. This will depend on its uptime of BT-70, comparing it to OpenDNS’ uptime of 99.98% according to my own monitors.

In all, I must say that the new namebench tool is an instant hit. It even picked up on two errors that I can now correct. All the previous “DNS checkers” I have used, commercial or free, failed to pick up on these. Excellent!

Myatu’s Tech Blog, from the site that has been wasting bits and bytes daily, since 2008.