Google DNS

Tom Metro tmetro-blu-5a1Jt6qxUNc at public.gmane.org
Tue Jan 19 19:37:39 EST 2010


Dan Ritter wrote:
> The first time through, Google was always fastest, by a
> noticeable amount.

That sounds consistent with the nature of their enhancements.


> The second and third time through, every server had a
> performance increase, but the best results were from the most
> local servers -- Google turned out worst, in fact.
> 
> My conclusion:
> 
> It's not worthwhile to switch to using their DNS servers for
> resolution if you run your own or have a competent local
> provider.

Makes sense.

Ideally you'd want a local cache that incorporates some of Google's 
speed up techniques. In that light, I've started a thread on the Dnsmasq 
mailing list discussing ways such enhancements could be 1. prototyped 
external to Dnsmasq, and 2. integrated into Dnsmasq. Dnsmasq's author 
has shown some interest.


Rajiv Aaron Manglani wrote:
>> Anyone ran across a DNS benchmarking tool for Linux?
> 
> http://code.google.com/p/namebench/

Thanks for the tip. I see this isn't just hosted at Google, but a side 
project of a Google employee. (How convenient, given their new DNS service.)

It's Python code that runs as either a command line tool or GUI. (No 
packages available, but you just untar it and run it directly out of its 
directory. Permanent installation is optional. It required installing 
the python-tk package on Ubuntu to get the GUI working.)

It takes quite a while to run. It starts with a database of over 3000 
DNS servers. I think it checks the hop count to each, and winnows the 
list down to a few dozen that are either close, or have a fast ping. It 
then runs the actual DNS benchmark against those.

The web page said it can extract domains from your browsing history so 
the benchmark is optimized for your typical usage. When I ran it from 
the command line, there were no prompts for doing this, so it just used 
its default list (the file name, data/alexa-top-10000-global.txt, 
implies the source). Looks like there is a command line option to 
specify a history file. I didn't try it.

It correctly identified that I had both a local machine cache and a LAN 
cache. But due to being a couple of steps removed, it failed to pick up 
on our ISPs DNS servers (the documentation implied they'd automatically 
be included, and indeed it did find some VPN specific servers that were 
in the local resolv.conf). You can specify what servers to include 
explicitly on the command line or in the GUI.

Here are the results:

Fastest individual response (in milliseconds):
----------------------------------------------
Localhost IPv4   # 1.28698
Genuity BAK      ######### 16.42489
OpenDNS-2        ######### 16.91413
DynGuide-2       ########## 17.03978
Level 3/GTEI-3   ########## 17.06791
Level3-R2        ########## 17.72904
Speakeasy Philad ########## 17.92097
UltraDNS-2       ############# 24.29414
Google Public DN ############# 24.29891
AT&T ASM US      ###################### 40.21978

Mean response (in milliseconds):
--------------------------------
Google Public DN ############### 81.08
UltraDNS-2       ################### 100.77
Localhost IPv4   #################### 106.07
Genuity BAK      ######################### 133.86
DynGuide-2       ######################### 134.02
Level 3/GTEI-3   ######################### 137.18
Level3-R2        ########################## 138.04
OpenDNS-2        ########################## 140.01
AT&T ASM US      ########################### 144.47
Speakeasy Philad ##################################################### 
291.96

Recommended configuration (fastest + nearest):
----------------------------------------------
nameserver 8.8.8.8         # Google Public DNS
nameserver 127.0.0.1       # Localhost IPv4  Replica of Localhost IPv6 
[::1], Replica of 192.168.0.35
nameserver 4.2.2.5         # Genuity BAK

********************************************************************************
In this test, Google Public DNS is 151.6% faster than your current 
primary DNS server
********************************************************************************


(Even the command line version spits out pretty graphs...indirectly. It 
outputs a giant URL starting with http://chart.apis.google.com/chart 
with embedded graph data. You cut-and-paste the URL in your browser to 
see the graphs.

It also spits out an HTML page with the report and embedded graphs. Even 
the GUI version just opens this report in a browser window to show the 
results.)

I tried the obvious of adding the two recommended servers to the LAN 
installation of Dnsmasq (which does its own benchmark to select the 
preferred upstream server) and reran the benchmark. It then reported 
that "Your current primary DNS server is 50% Faster than UltraDNS-2" 
(UltraDNS-2 had the next fastest mean response time.)

This time it was able to detect that my LAN cache replicated the Google 
DNS servers. (They must have some unique records returned only by their 
resolvers used just for testing.)

Well, my DNS should be a little bit faster now. Whether it's noticeably 
after is another matter.

  -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/





More information about the Discuss mailing list