05 Aug 2008

Reduce DNS server lookup time

Having moved house I have just been connected to broadband.  The connection is a decent enough 4mbps but for some reason, especially in the evening, when I went to a website when I was surfing the browser would spend a few seconds “looking up” the domain that I wanted to go to (like matt-helps.com) before connecting, transferring and showing me the page.

It was quite frustrating.  Here I have a decent line but at peak times the browser would punctuate my surfing with long pauses!  This will never do!

So what is my computer doing when it is “Looking Up” a domain name?  Well, it contacts a DNS server which converts a domain name like matt-helps.com to an IP address like 123.123.123.123.  That IP address enables your computer to communicate directly with the website’s server and retreive the webpage that you wish to view.

Now the DNS server itself holds a table that lists all the domain names and the ipaddress to convert it to - the table itself is called a cache because it needs to get an update ever so often to check that it hasn’t changed.  However, and here is the rub, there are millions upon millions of websites and the space they have to cache this data is limited.  If you ask for a website that isn’t popular or hasn’t been recently viewed then your request to the DNS server for an ip address may well be for a domain that is no longer cached and so you’ll have to wait while the DNS server goes away and checks what the ip address really is.

Your ISP will provide a DNS server (what good is a connection to the internet if you don’t have a DNS server?) but sometimes your ISP may not scale their DNS handling capabilities with the volume of traffic at peak time.  Every single call to a new site (assuming your  computer or router isn’t cacheing as well) is handled by your ISP’s little DNS server - at peak time this server will get hammered by calls and you could well end up with pauses all the time during your surfing.  I certainly was.

So, what to do?  Well I did a little looking around and found an excellent, free DNS service called OpenDNS.com.  They have a huge cache, several server centers around the world AND they give you control over categories of sites to block should you wish.  I personally like the peace of mind people that I invite to use my wifi won’t accidentally stumble into the wrong internet neighbourhood.

So I gave them a whirl and guess what?  I have virtually no delay in the “Looking Up” stage of my browsing (and thanks to my decent line my browsing experience is without pauses!).

OpenDNS.com have instructions on their site but needless to say that you’re best setting your router’s DNS settings, rather than changing actual computers.  I’ve actually changed my laptop’s DNS to point to their servers because I like their service so much.

The only hassle is if you have a dynamic IP address (most of us residential customers do!), then in order to keep track of your stats and block the sites that you want blocking then you need to keep OpenDNS.com up to date with your ip address (not your internal ip address, but the external one - the one that your ISP assigns you).  For windows and Mac this is easy as they have a little application that does it for you, but for linux users its a little different: OpenDNS.com dynamic ip address linux update.

Hope that is of help!

comments powered by Disqus