Last night I was doing some research and went to pull up the Ruby On Rails site. Unfortunately when I did I could not connect. My DNS server wasn't resolving it properly. Assuming it was Verizon's problem I embarked on a long and ultimately fruitless attempt to find out why rubyonrails.org was not resolving. While doing this I tweeted about it and suddenly got responses from people explaining that there were some problems with that domain name. It wasn't the Verizon DNS server after all.
So Twitter helped me out, but that wasn't the end of the assistance. Chad Hohner (@hohner) told me about using OpenDNS, something that will help improve network performance (at least as it relates to name resolution). I figured it was worth a try and changed the DNS on my Mac Pro to using OpenDNS's servers. The performance improvement for me was dramatic, so much so that I changed back to the Verizon servers, flushed my DNS cache and started testing different sites. I then switched back to OpenDNS, flushed my DNS cache again and timed page loads.
The difference was stunning. On some sites I saw little or no improvement, especially on the very popular sites like Google, Yahoo, MSN, etc. It was when I started visiting lessor sites that I saw a performance improvement of up to 28%. This was a dramatic improvement, takes seconds to do and costs nothing.
Do it now, watch the difference
You can try it out quite easily on a Mac right now; nothing to sign up for, just update your DNS settings to use OpenDNS's servers. Fire up System Preferences / Network and select your primary ethernet device.
Click on Advanced, then add these two servers into the DNS section:
Once they are added in, close it out and open a terminal prompt and flush your DNS cache. I believe System Preferences does this automatically but just to be sure you can enter this in a terminal prompt:
At that point you are using the OpenDNS servers. If the performance looks good then you can also set up your router to hand out those DNS settings to all of your machines. OpenDNS has pretty detailed instructions for how to handle it. I did that to my Verizon router and now all of the machines in the house are operating much more quickly.
There's more to OpenDNS than just offering a free DNS service. They also offer content filtering and parental controls, which will allow you to set high level filters on the types of sites that your machines can access as well as specific categories that will limit access.
This is handled by signing up for an account (again, free) and optionally installing a small menu bar application that will maintain your IP address with OpenDNS. I installed this little notifier in a couple of minutes on my primary Mac Pro since it's always connected to this network.
Is it really free?
I was curious about how OpenDNS was able to provide these services for free and did a little research. It turns out that they make their revenue on ads that are displayed if you enter a domain name that is incorrect. If you never fat-finger a domain name then you'll likely never see the ads, but enough people do that it generates the revenue needed to power this service.
There are two things I really got out of this little experience:
1) OpenDNS is very cool and I highly recommend that you try it out
2) Twitter continues to provide a really valuable resource for getting information quickly and easily. Thanks again Chad!
Got a tip for speeding up your network connection? Please drop a note in the comments! And as always, you can follow me on Twitter.