Tutorial: Speed Up Your Web Surfing with Google DNS or OpenDNS

Folks, listen up. If you are still using your ISPs slow DNS servers you are probably suffering needlessly and not taking advantage of the full speed of whichever connection you may have – even high speed ones like cable, DSL or Fiber Optics. And if you don’t know what I’m talking about – this means you!

I’m going to show you how to speed up everything you do online by switching to a better, faster Domain Name Server (DNS) system run by either Google or OpenDNS. Best of all, it will only take you like 5 minutes to make a change that will benefit you every day from now on! But before we get started, let me explain what DNS does for you in non-technical terms.

What is DNS Anyway?

When you launch your Web browser and want to navigate to a new Website, at first your computer doesn’t know where that site is. So what it does is the following:

  1. Looks at your own network settings to determine, “Where are MY DNS servers?
  2. Makes a call to your DNS servers and asks, “Where is this Website I want to go to?
  3. Gets the IP address for the Website you are trying to find, and then heads on over to it.

To complicate matters, it doesn’t just do it one time per Website you go to. Web pages have lots of images, videos and other things embedded in them, and you have to check DNS for each one! So this happens hundreds of times a day when you are online, and it represents a huge opportunity for improvement.

Testing and Recommendations

This might be a little too technical to get into for everyone, but suffice it to say that before I chose which DNS I wanted to use, I did a little testing. There were two parts to the testing. The first consisted of running a series of Ping tests to the various DNS server to see which one would respond to me faster. (Kind of like playing Marco-Polo with the DNS server.)

Part 1

In my test results I compared Time Warner (my cable provider) with OpenDNS and Google

  • Time Warner: Average Response Time – 29.70ms
  • OpenDNS: Average Response Time – 27.99ms
  • Google Public DNS: Average Response Time – 62.58ms

In the ping test it seems that OpenDNS provides the fastest response time, even beating my own ISP by about 10%, and outperforming Google’s public DNS by about 100%.

Part 2

The second part involved running a script which compared actual look-up response times. So not only which DNS server pinged me back quickest, but which could look up an actual domain name and send the results back quickest.

These tests are hard to do because there is caching occurring upstream from me somewhere. This means that once a domain is looked up, the DNS servers are holding the results in memory for a while so they don’t have to look it up again. You can see the difference in the two times I ran the test above.

For example, look at MyRecip.es results. Time Warner took 700+ms for the first look-up, but the second look-up was only 39ms because it just served the results from recent memory (cache).

However, it’s clear that Google’s DNS consistency is just plain impressive. It doesn’t matter if it’s the first look-up or subsequent ones, nor does it matter which country the domain is from.

EDIT: By request, if you want the script to run this test yourself, here it is. Save it to your hard drive, change to that directory in Terminal, then at the command prompt type: bash dns.txt

Choices, Choices…

It’s hard to say which is going to be faster in the wild. OpenDNS seems to respond about twice as fast for sites it has in it’s cache, which will certainly be all the big ones. But Google’s consistency is hard to argue with! Personally, I’ve gone ahead and switched to Google for now. Though OpenDNS has been good for a long time.

The main thing that pushed me over to Google by the way is NOT the speed. But the fact that Google DNS is doing something extra for me now. If you just type in a domain and leave off the .com, .net, or .org Google seems to take a guess at what you are looking for and loads it for you. So if I type in “onemansblog” and hit enter in my browser, it brings me to this site. If you type in something that it can’t find, it takes you to a Google search results page!

Now that we’ve covered that, you are going to need to choose which one you want to use. And you are going to need the IP addresses for the one you’ve chosen. Don’t worry, we’ll get to how to set them up in just a minute…

The Google Public DNS IP addresses are as follows:

  • 8.8.8.8
  • 8.8.4.4

The OpenDNS IP addresses are as follows:

  • 208.67.222.222
  • 208.67.220.220

How to Configure Your DNS

Now that you’ve made up your mind, the following instructions should help you get your DNS set up to speed up your personal browsing experience.

Microsoft Windows

DNS settings are specified in the TCP/IP Properties window for the selected network connection.
Example: Changing DNS server settings on Microsoft Windows Vista

  1. Go the Control Panel.
  2. Click Network and Internet, then Network and Sharing Center, then Manage network connections.
  3. Select the connection for which you want to configure DNS. For example:
    • To change the settings for an Ethernet connection, right-click Local Area Connection, and
      click Properties.
    • To change the settings for a wireless connection, right-click Wireless Network Connection, and click Properties.

    If you are prompted for an administrator password or confirmation, type the password or provide confirmation.

  4. Select the Networking tab. Under This connection uses the following items, click Internet
    Protocol Version 4 (TCP/IPv4)
    , and then click Properties.
  5. Click Advanced and select the DNS tab. If there are any DNS server IP addresses listed there, write them down for future reference, and remove them from this window.
  6. Click OK.
  7. Select Use the following DNS server addresses. If there are any IP addresses listed in the Preferred DNS server or Alternate DNS server, write them down for future reference.
  8. Replace those addresses with the IP addresses of the Google DNS servers: 8.8.8.8 and 8.8.4.4 or the OpenDNS servers: 208.67.222.222 and 208.67.220.220.
  9. Restart the connection you selected in step 3.
  10. Repeat the procedure for additional network connections you want to change.

Mac OS X

DNS settings are specified in the Network window.
Example: Changing DNS server settings on Mac OS 10.5

  1. From the Apple menu, click System Preferences, then click Network.
  2. If the lock icon in the lower left-hand corner of the window is locked, click the icon to make changes, and when prompted to authenticate, enter your password.
  3. Select the connection for which you want to configure Google Public DNS. For example:
    • To change the settings for an Ethernet connection, select Built-In Ethernet, and click Advanced.
    • To change the settings for a wireless connection, select Airport, and click Advanced.
  4. Select the DNS tab.
  5. Click + to replace any listed addresses with, or add, the Google DNS servers: 8.8.8.8 and 8.8.4.4 or the OpenDNS servers: 208.67.222.222 and 208.67.220.220.
  6. Click Apply and OK.
  7. Repeat the procedure for additional network connections you want to change.

If you need additional information about changing settings, see the complete documentation over at Google.

Ok, that’s it! If you do a little testing and make the changes on all your computers you’ll notice that everything speeds up for you. And if you are technically savvy enough, you can even go in and change the setting in your router so that everyone accessing your network automatically gets the DNS servers assigned when they connect.

Let me know if this helps. Especially drop me a comment below if you make the changes and notice an improvement. I know I did!




There are 14 comments

Add yours
  1. Jerry LEe

    Hey, thanks for making this an easy task. Being a web developer, it doesn’t matter how great my computer is, I am always waiting longer than I want for various things. This is exciting, and I can’t wait to see the results.
    kudos brother!

    Jerry Lee

  2. Chris K

    John,

    I read your article back in April, but it looked a little complicated and decided I didn’t want to take the time to do it. Boy do I regret not taking 5 minutes to try it out! After changing my primary DNS, my internet connection is now three times faster!

    If it is any help to your readers, I used Namebench instead. http://bit.ly/aVoxed

    Namebench is a free utility from Google that essentially does the same thing but with just one click of a button. It’s available for Windows or OSX. Click on “Start Benchmark” and it will create an HTML page that displays the fastest DNS. Just edit your DNS settings in your Network and your done! One word of advice, make sure that you save your old settings just in case!

  3. Craig

    An even better solution is to configure the DNS server on your home router. That way any computer that is part of your home network automatically uses OpenDNS or Google DNS without having to make changes on every computer.

    • theorem

      Exactly my response. Use the router for what it’s good for : informing your network connected devices what site-specific configurations you want to apply through DHCP, etc.

  4. Kimi

    I had no idea what dns was, I just know there is a word called DNS, but after reading this, i know what it is. Eventhough i had to repeat reading some parts :D

  5. Brian Friel

    I just switched to the open DNS and I think there is a huge difference! I guess I will see what I think as time goes on, but my initial reaction is WOW! I’m not a real tech guy, but I always like to play around with new technology and this is a new idea to me. Thanks John!

    Brian

  6. Leah

    I just found your blog & I have been enjoying the tips. This tip though… I think if it works WOW!!!! I have a few clients who due to the times can’t afford more than basic DSL for their network & constantly get bogged down by huge client files. This would really speed up their productivity and save them $. Which in this economic climate… every $ helps.

    I’m definitely gonna test this out on myself & then try it on one or 2 of my more adventurous clients.

    I’ll post back with the results.

    Keep up the great work!!!!

    Leah

    PS.
    I do want to repeat your recommendation above about writing down the original IP addresses. Definitely do a screen shot of every original setting you are going to change! I can’t count how many network admins call us after they made a change or 2 on the server that they wrote down, but forgot everywhere they made the change. It’s a good practice to just screen shot every original into a admin log & then type in the changes below so you have clear documentation of what you had & what you changed.

  7. Willie Stylez

    Great article, and great job keeping the article interesting for true geeks, while making it easy (I think) for non-geeks to understand DNS a little better!

    By the way, is it possible to get a copy of that script, or a link to the program you used for the for the comparison test? I would love to run the queries in my network to see what results I get! Thanks in advance!

  8. A.J. Wood

    Good writeup. I’ll definitely checkout the DNS servers you mentioned.

    DNS is like using the Yellow Pages. You know you want pizza from Papa John’s but you don’t have the street address memorized. You look up Papa John’s in the phone directory it shows you the address. DNS works the same way. You don’t have to memorize an IP address, your computer just uses DNS to lookup the domain name and return the address for you.

    Of course, all the digital natives just thought “What’s a Yellow Pages?” ;^)


Post a new comment