With site performance you in generally focus on the site itself to make that as fast as you can. And most likely you add an object and page cache and call it a day. And sure that is what visitor is hitting continuously and you will noticed a big gain in doing so. But there are other things you have to look as well and one of those things is your DNS. It’s the first thing that gets called when people access your site so it’s important that it’s fast.
Single location DNS
From history point of view the DNS was arranged on pretty much the same location and even the same server. You in generally should have your name servers on different subnets to be able to respond when one of the name servers is down. Obviously it doesn’t matter much when your webserver isn’t redundant. Also this is a easy way to manage your DNS as no syncing is required.
My history
After a few years using shared hosting, I started having my own server in 2010. It was running on a single server with Directadmin on it and obviously it was my first and second nameserver. At that time, I didn’t thought much about performance and surely not about having visitors from all over the world.
Things has changed and after about a year and a half, I moved my site to a new server where I was running NGINX on but still having the same namserver. People complimented about my site performance and everything looked great. But time changed and in the years many free/paid DNS providers started their business or grown to be a serious player. Some even exist already for 15 years.
Now you have services like Route53, DNS Made Easy, Cloudfare etc having their name servers all over the world to reduce the lookup time. DNSPerf is a good site to look at for performance results of a lof of DNS providers. Sadly no big shared hosting providers are listed as I am curious to see how far their focus on DNS goes.
My switch to DNS Made Easy
Some of my important sites already got moved to it but this site wasn’t yet as the domain was still at my first VPS host and DNS was still being used on that server. So earlier this week I finally made some time and moved the site to DNS Made Easy.
Recently I started using New Relic Synthetics to track some basic performance stats for my site for multiple locations in the world and it’s a nice way to measure your general performance but also target certain locations.
The first image shows the general DNS performance. It was roughly around 150-160ms which doesn’t seem a lot but if you are into this things and checked out DNSPerf, you know it can be better. And after the switch to DNS Made easy on Monday evening you also see a great jump in performance. Suddenly it’s around 45-50ms. Which is suddenly about 3 times faster.
If you look at the second image then you do see an even bigger jump. The general performance was as low as 282ms and a high as 645ms but the average is about 500ms. After the switch it’s around 50ms which means a performance boost of 10 times.
Obviously I also checked a closer location to my previous name servers and from London you see there is a performance lost by I assume random spikes going to 70-86ms where it normally was going from 20-30ms. Unclear why it’s happening as I find it extreme. But the general conclusion is that selecting your DNS provider is also based on where your audience is. If your audience is local than you can easily host DNS yourself just like that most likely you won’t need a CDN then.
DNSMadeEasy starts at $29,95 a year for 10 domains and you can buy additional domains. Most likely you do have to move to their $59,95 which includes 25 domains, REST API access and 3 failover records. Haven’t played with that but I guess someone will like that feature ;). Check out their site (affiliate link) in any case.