How can I choose between using my ISP's DNS, or Google's 8.8.8.8? [closed]

It seems like a good idea to use Google's public DNS 8.8.8.8 and 8.8.4.4 because it's really fast -- much faster than my own ISP's DNS! -- and probably more reliable, too. That seems like a ridiculously quick win for me, and much easier to remember.

Assuming we're not all "tin foil hat" about Google, why shouldn't everybody use Google DNS? How can I determine which DNS server would be the fastest, most reliable, or what would generally be considered the best?

Note: I've seen this question, but I don't want a comparison to OpenDNS. This is about everyday use by everyday people in their homes.

Update: I seem to have put my hand in a wasps' nest of privacy concerns. I appreciate the issue, but I was expecting a more technology-oriented discussion...


There is a useful tool that test the different DNS nameservers available (your ISP, current configuration, DynDNS, Google Public DNS and other one).

From my point of view Google DNS are pretty fast but depending on the load GoogleDNS supports my ISP Dns is sometimes faster.

NameBench (Linux/Windows/Mac OS X)

Output : alt text
(source: googlecode.com)


How about running your own caching DNS servers? You probably already host DNS for your internal services, so why not just setup those servers to do direct lookups instead of forwarding requests to your ISP or Google?

The benefits:

  • They are very close to your users (< 2ms)
  • Caching DNS is dead simple to run
  • Caching is still fairly effective since your users are probably accessing the same sites (e.g. serverfault.com and facebook.com)
  • You can do logging of DNS requests for troubleshooting
  • No need to worry about someone else logging your DNS queries
  • Required for split-brain DNS zones

Larger websites and services, such as Facebook, often use a Content Delivery Network (CDN) to route your request to the closest (and therefore likely fastest) server for their content. They do this via DNS anycast routing, by returning the closest server's address when you perform a DNS query via your DNS server. In other words, where your DNS server is located physically can have an effect on the speeds and response times you get from certain CDN's. Use a DNS server that's close by.

However, these public DNS servers use anycast routing to provide your with a DNS response from the nearest server. Otherwise they couldn't provide you with such fast responses and high uptimes. For example, when you query 8.8.8.8 from The Netherlands, the server that answers the query is not the same one as when you query from Japan. This may partially compensate the CDN problem.

Google itself has a warning to the same effect (where resolver is the DNS server):

Note, however, that because nameservers geolocate according to the resolver's IP address rather than the user's, Google Public DNS has the same limitations as other open DNS services: that is, the server to which a user is referred might be farther away than one to which a local DNS provider would have referred. This could cause a slower browsing experience for certain sites.

Source: https://developers.google.com/speed/public-dns/faq#cdn

I couldn't find a list of Google's public DNS locations, but OpenDNS has a list of cities on their status page that should give you an idea which one you're closest too.