We have started to run our own DNS servers located in Asia since that's where our main audience is. However, it seems that some users in the US are having difficulties accessing our website sometimes. I've noticed myself that DNS lookups of our domain from the US are relatively slow (500 msec+). Maybe the problems some users are having are due to other DNS configuration errors, but in general, how much of an issue is the geographical location of DNS servers? Should we have an additional server in the US?
This is not asia - this is a crappy provider.
I am in europe myself. My latency to US machines is 150ms, 125ms from a german data center to my machines in Chicago.
Now, I fail to see how Asia could be more than 5 times as aar as Germany. Even if you route the Asia traffic via Europe (which is stupid to start with) this is still a LOT too much.
At the end, the problem is not geographic location but a provider that is badly connected.
THAT SAID: adding a servr in US wont help as DNS Servers are choosen round robin - it would only help when you put up a rreginal aware IP Multicast solution.
I Would suggest moving DNS to some specialist companies. Cheaper and they handle the issues for you.
But HALF A SECOND is too much. WAY too much.
A thing that might be relevant is the TTL of your zone. If you have a high TTL, the zone will live in caches for a longer period of time, and your customers are more likely to fetch those instead.
There are of course drawbacks with a high TTL, most prominent being the fact that changes takes longer to propagate. I suggest reading the insights of Chris Gonyea and the article regarding DNS/TTL at zytrax for more details.
The location of your DNS servers is more or less of an issue depending on your scenario.
Here are some insights:
This said, 500ms for USA to Asia (where, exactly?) sounds too much. You may want to test known DNS servers located in Asia (e.g. f.ns.buddyns.com), to get a lower bound for what latency you can get.
Handing your DNS to some good DNS company will take care of it as TomTom advised is probably the best solution (though there's price).
Consider increasing TTL of your records, see Tommy answer.
It is a good idea to have DNS servers closer to your customers. Do it. It will often speed-up DNS resolution for part of your visitors. The closest nameserver will be used more often than others (but still not always).
Latency of your Asian server may depend on it's Asian internet connection. Talk to your Asian provider and maybe ask other providers there if they can help you achieve better latency. 500ms really seems too much. (Btw, if by asia you mean china, there's some firewall there, maybe it adds it's latency ?) Maybe try
traceroute
to see what causes the latency.As others have pointed out, it is a good idea to get a managed DNS service.
I checked our database (which includes name servers from around the world) and 500ms is a little over 3 percentile in terms of speed, so it is very slow, and quite unusual for a DNS service.