Proximity, Geographical Location and DNS Lookup Speed

 

Proximity of the name server to the users location plays a very important role in DNS lookup speed. Proximity reduces the number of hops that take place while the DNS packets are routed. This is the reason why several large DNS providers like CloudFlare, Dynect and DNSMadeEasy have adopted IP Anycast. Anycast routes the requests to the nearest name server and with name servers located around the world, the DNS lookup speed for visitors even in foreign countries is quite fast.

However, our data shows that there may be several other factors that affect DNS lookup speed, like the kind of DNS server used, or the kind of network the server is on. Note that of all countries in Asia, Japan has the fastest DNS lookup speed. Read more about this in this blog post. Why is that? This is definitely not because of proximity. Its probably just because the internet infrastructure of Japan is more robust and fast.

Our server is located in Los Angeles, very close to the bay area which most companies use as a data center location. However, surprisingly, our analysis of 700,000 name servers shows that name servers in California are not the fastest!

The table below shows a list of states, the number of name servers in that state and the average speed with which name servers in that state respond to DNS lookups. The data used are the logs of all DNS lookups in December 2012.

State Average Speed in milliseconds Number of Name Servers Approximate Distance
Virginia 71.84 8235  2650 miles
Delaware 76.68 2462  2858 miles
Texas 76.73 48225  1405 miles
Arizona 80.09 5603  735 miles
North Carolina 90.68 3343  2648 miles
Oregon 91.77 1332  671 miles
California 96.48 14308  0 miles
Kansas 104.42 1102  1537 miles
Utah 105.78 2491  786 miles
Illinois 107.42 10548  2084 miles

Why is Virginia the fastest and Illinois the slowest? I have absolutely no idea! There does not appear to be a strong correlation between proximity and speed (at least within the same country).

A user on ServerFault gave a simple formula to calculate the DNS speed based on location (I am not sure how reliable this is but wanted to mention it anyways).

Speed in ms = X / 50

Where X = distance in kilometers. Going by this formula, the speed to Virginia should be 85.28 milliseconds (about right) and the speed to Utah should be 25.28 milliseconds. Why then this very large discrepancy in the average speed to Utah? Why is the speed to Utah much higher than the speed to Virginia even if the distance is almost 3 times less? Why is the latency within California much higher than Virginia?

For DNS speeds below 10 ms, I don’t think a factory default Bind installation will work even if the name server is located in the same city (which you can clearly see in our rankings. There are several providers who have a point of presence in Los Angeles and are not fast enough). If you have worked with databases or key-value stores like HBase, you know that a typical look up takes about 10 ms (not including external network latencies). It takes a lot of effort to get a DNS speed below 10 ms which the top three have obtained.

So how much is proximity and geographical location important? I think you should be fine if you have a name server in countries (or nearby countries) from which you get the most number of visitors.

Follow me on Twitter @SolveDNS

 
This entry was posted in DNS, DNS Performance, DNS Statistics. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

*


*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>