Faster DNS (nameserver) resolution
Date: 02 Jan, 2010
Posted by: admin
In: hints & tips|internet, web design & development|linux, open source & software
TIL about testing DNS (link to Google’s DNS primer) to find the fastest nameserver for your computer to shave those precious milliseconds off your DNS resolution time.
DNS/nameserver benchmarking for fun and profit
For the unitiatiated DNS resolution is the time it takes for a domain name to be matched to its current IP address; this allows your computer to communicate with a computer on the ‘net using the retrieved IP address.
I used “namebench” which has been developed at Google by one of their smart cookies, Thomas R Stromberg, in the famous 20% time that Google gives.
Namebench results from a TalkTalk UK account using OpenDNS
Here are my results:
user@hostname:~/Downloads/namebench-1.0.5$ ./namebench.py
- python-tk (tkinter) libraries are missing, falling back to command-line interface.namebench 1.0.5 – data/alexa-top-10000-global.txt (weighted) on 2010-01-02 11:06:02.510085
threads=40 tests=200 runs=1 timeout=2.0 health_timeout=4.0 servers=10
——————————————————————————
- Checking connection quality…
* DNS interception test failed (no response)
- Congestion detected. Applied 5.00 multiplier to timeouts
- Building initial DNS cache for 3039 nameservers [40 threads]
- Checking availability of 3039 servers: 0/40……20……..40/40
40- 1982 of 3039 name servers are healthy
- Waiting for health check threads for 608 servers: 0/40.* System DNS fail #1/4: Internal 192-1-1 [192.168.1.1] Failed TestNegativeResponse: Timeout
…..30.40/40
40- 34 of 608 name servers are healthy
- Waiting for wildcard check threads: 1/24………10………20…24/24
.- Waiting 4s for TTL’s to decrement.
- Waiting for cache collusion threads: 0/40.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx…..xxxxxxxxx.xxxxxxx.x.40/40
40
Final list of nameservers considered:
——————————————————————————
194.8.57.12 Nurnberger IX DE 139 ms |
217.27.240.20 POBOX internet G 147 ms |
85.37.17.9 Interbsiness-nl 163 ms |
193.205.130.253 Univpm IT 181 ms |
192.168.1.1 Internal 192-1-1 1634ms | www.google.com. hijacked (google.navigation.opendns.com.), Timeout
87.117.198.200 RapidSwitch GB 3840ms |
156.154.70.1 UltraDNS 6172ms | (excluded: Failed TestWwwFacebookComResponse: <class ‘dns.exception.Timeout’>)
217.64.240.4 MACTelecom BE 7552ms |
81.199.3.7 SATCOM Systems-2 7555ms |
8.8.4.4 Google Public DN 7564ms | (excluded: Failed TestNegativeResponse: Timeout)
81.27.192.97 Karneval-2 CZ 7580ms |
81.201.178.4 Oxymium-2 FR 7618ms |
8.8.8.8 Google Public DN 7665ms | (excluded: Failed TestNegativeResponse: Timeout)
208.67.220.220 OpenDNS 10040ms | (excluded: Failed TestGoogleComResponse: <class ‘dns.exception.Timeout’>)- Reading test data from data/alexa-top-10000-global.txt
- Benchmarking 10 server(s), run 1 of 1: 1/200………10………20………30………40………50………60………70………80…… 150………160………170………180………190………200/200
200
- Rendering template: ascii.tmpl
- Saving rendered ascii output
Fastest individual response (in milliseconds):
———————————————-
RapidSwitch GB ############################# 42.80996
POBOX internet G ############################## 43.43605
Internal 192-1-1 ############################### 45.14503
Oxymium-2 FR ################################## 50.33112
MACTelecom BE ###################################### 56.06103
SATCOM Systems-2 ######################################## 58.68816
Nurnberger IX DE ######################################### 59.82780
Interbsiness-nl ################################################ 70.96195
Karneval-2 CZ ################################################## 73.89188
Univpm IT ##################################################### 79.16999Mean response (in milliseconds):
——————————–
RapidSwitch GB ############################ 153.08
Internal 192-1-1 ############################# 157.28
Interbsiness-nl ################################ 172.17
POBOX internet G ################################ 177.08
Nurnberger IX DE ################################### 192.36
SATCOM Systems-2 ################################### 192.50
MACTelecom BE ###################################### 205.60
Karneval-2 CZ ############################################ 240.54
Oxymium-2 FR ############################################ 241.74
Univpm IT ##################################################### 293.72Response Distribution Chart URL (200ms):
—————————————-
[url cut]Response Distribution Chart URL (Full):
—————————————
[url cut]Recommended configuration (fastest + nearest):
———————————————-
nameserver 87.117.198.200 # RapidSwitch GB
nameserver 217.27.240.20 # POBOX internet GB
nameserver 192.168.1.1 # Internal 192-1-1 www.google.com. hijacked (google.navigation.opendns.com.), Timeout********************************************************************************
In this test, RapidSwitch GB is 2.7% faster than your current primary DNS server
********************************************************************************* Saving html summary report to /tmp/namebench_2010-01-02_1137.html
- Rendering template: html.tmpl
- Saving rendered html output
* Saving request details to /tmp/namebench_2010-01-02_1137.csv
Should I change my nameservers?
Conclusion
It took quite along time for me to find that RapidSwitch is 2.7% faster (today). I don’t think I need to switch, note that I am already using OpenDNS in preference to my ISP’s supplied nameservers or Google’s for that matter. Mainly for the stats and possibility to do content filtering at the DNS level.

