I have always managed my own DNS on servers that I control because it was something I was capable of doing, and I hate being dependent on someone else when something needs to be done. But I’ve been periodically working on the load time for my blogs (this one and http://www.heybige.com), and the performance for my primary and backup DNS servers just isn’t cutting it any more.
My DNS server hosts are small, inexpensive, out-of-the-way hosting companies, and the servers are either older, slower servers or VPS – great on the pocketbook, but not great for performance. The hosts are far from the backbone, so it takes a number of hops just to get to major exchange points, all things that slow down DNS lookups.
The easiest solution to this problem is to host your primary domains’ DNS at Amazon’s Route 53.
I ran a series of tests from http://www.webpagetest.org and the best DNS performance I could muster was 122ms (and the average was around 350ms). Once I changed over to Route 53, the average DNS lookup was around 25ms, which make a significant difference in the page load time.
Note: this significant packet delay carries through to all aspects of the page loading. Each packet coming in and going out is subject to this same delay. The solution is to host your website on fast servers on or close to major NAPs, but for me, I’m happy hosting everything on a cheap server that I fully control.