DNS performance redux
It’s no secret that we have spent a lot of time on performance at StyleFeeder, mainly because it’s one of those things that you end up addressing when you’re scaling, but also because it can yield very tangible results for user metrics. It turns out that people really like using fast websites. Go figure.
About a month or two ago, we looked in more detail at the chain of events that occurs when a browser hits our site to see if there were any possibilities for making things better. This is increasingly hard for us to do given that we’re already serving stuff up pretty quickly, especially when you consider the size of our dataset and the sparse nature of our requests.
Anyway, we noticed some room to improve our DNS numbers, which I mentioned in a post last April. Shortly thereafter, I met up with Jeremy Hitchcock from Dynect and he said that Dynect was definitely a lot faster than anybody else. How could I resist a claim like that? Especially if it was true, since it had some obvious benefits for StyleFeeder :)
So, I ran some tests using Pingdom for the entire month of June, 2009 that compared Dynect, Enom, DNSMadeEasy and Jerky. Huh? Jerky? What’s that? It’s our control point; more specifically, it’s a personal server owned by Eric: an old underused single Pentium 4 with ~2Gb of memory sitting on a Cogent network in a datacenter in Waltham, MA.
I mentioned my intent to do this testing to Dharmesh a few months ago and he gave me permission to test OnStartups.com and hubspot.com as part of my experiment, so that’s what I was testing against those services.
The short story is that I took the detailed logs from Pingdom, processed them with R and made some pretty graphs. The raw numbers are here, but you can click through the graphic to see it in more detail. Basically, I threw away the slowest 0.5% of the requests and made histograms of the frequency of the request times. Note that the X axis has the same scale in all cases, so you can compare easily.
As you can see, not only does Dynect have the fastest response times by a wide margin, their times also exhibit a much smaller standard deviation than anything else that I tested (I should note that I didn’t test UltraDNS because they are stupidly expensive and I had a bad experience with them in the past, but they would be worth looking at if you are doing a bakeoff).
Enom’s DNS service is included with their domain registration service while DNSMadeEasy costs money. All in all, Jerky did pretty well considering what it is. Obviously, you don’t get redundancy out of a single box, so there are other features that the other DNS vendors give you that are very much worthwhile.
But the real news here is that Dynect demolished the other participants in this test with a 37ms response time, less than half that of the first runner up. It’s not everyday that you can chop 40-70ms off of your mean response time, so when those opportunities arise, it’s definitely worthwhile. Companies like StyleFeeder that have tons of new users who don’t have these DNS entries in their resolver caches will definitely benefit from the speedup.
If you don’t like my test, I’m happy to run it again under different conditions, so let me know if you think there’s a flaw in how I processed the data.
Wow, those are impressive figures for Dynect! Thanks for sharing.
I had lunch with some of the Dynect folks who of course did their pitch on how they were superior. They also did some name dropping (including SyleFeeder). Love seeing your testing and results comparing all these folks.
Looks like you followed the same experiment and came to the same conclusion as we did earlier at LearnHub:
Hosted DNS comparison
Glad to see you confirm our results!