Published on Tue, Mar 31, 2015 by Aaron
How good is the response time and availability of your authoritative DNS, really?
To answer that question, it's important to query authoritative nameservers through the resolvers that people use at home, in the office, on mobile and at the local Starbucks. TurboBytes does just that, monitoring the real-world performance of authoritative DNS providers from across the globe, 24/7, by running tests in the browsers of millions of people that are connected to thousands of networks.
We're excited to announce our RUM for DNS !
In this article you'll read about why we built RUM for DNS, our test methodology and the benefits of RUM (Real User Monitoring) versus synthetic monitoring. But maybe you want to skip all that and take a look at some of the data? View the past 14 days performance of CloudFlare, AWS Route53, Dyn and others in our Authoritative DNS Performance Reports.
TurboBytes runs a global Multi-CDN platform: it closely monitors CDN performance (with RUM) and makes sure traffic is always routed to the best performing CDN. Our platform constantly switches CDNs by changing low TTL CNAME records. Needless to say, our DNS needs to be awesome, with excellent performance and all the features we need.
We had been using Dyn’s DNS platform since 2012 and never had issues with performance, but we did run into must-have functional requirements that Dyn could not meet. Last year in Q2 we started looking into alternatives to Dyn and obviously performance was a key evaluation criterium. We had to be sure the performance of our new DNS provider(s) was good across the globe and we wanted to have a real-world view on authoritative DNS performance, and not benchmark performance based on a handful of tests from a handful of datacenters. We needed ‘RUM for DNS’, so we built it.
We want to give you some insight in what our JS code does for the DNS performance tests and the big challenge we ran into, but we’ll start with laying out our requirements.
We’re happy to say our solution meets all these requirements.
The good thing about the using the Resource Timing API is that in Chrome and Opera the data is reliable and accurate: we always get the real DNS lookup time. But we also want to reliably detect the Authoritative DNS was too slow/unreachable, down or sent a bad response, so we can track the Fail Ratio/Availability too and not just response time. Read the next section to find out how we accomplished this.
TurboBytes’ RUM for DNS test methodology in a nutshell:
Unlike the Resolver HIT test, the Resolver MISS tests don’t have a time limit. We just let it run. Browsers and resolvers do retries and have timeout limits and we just let it run. If the authoritative can’t be reached, was very slow or sent a bad response (not a NOERROR), then at some point in time the browser will receive the SERVFAIL response from the resolver and our JS will then beacon a Fail for the authoritative. The test can’t have failed because of our web server because just a few seconds ago we ran the Resolver HIT test and from that we know our server is reachable and responding just fine. After monitoring performance of several DNS providers for a few months, spotting jumps in Fail Ratio and talking to DNS providers about this, we know for a fact that our Fail Ratio metric is solid.
To give you a feel for our relevance, reach and test frequency, here are some numbers for March 29 2015 based on beacons received from clients in The Netherlands for a single DNS provider:
|Unique Client IPs||84981|
|Unique Client networks (ASNs)||146|
|Unique Resolver IPs||920|
|Unique Resolver networks (ASNs)||237|
VeriSign, UltraDNS, DNS Made Easy. Those are just some of DNS providers we want to add to our RUM for DNS tracking.
Who would you like to see added? Let us know on Twitter!
In some countries/on some networks we want to run tests more often. Over the course of the next months we’ll increase count there.
We want to regularly publish blog posts about findings from our RUM for DNS data and things related to (authoritative) DNS performance. In the next article we will probably put the spotlight on the NSONE-Route53 combo.
We always welcome your thoughts, ideas and feedback. Please share below in the comments section and don’t forget to check out our Authoritative DNS Performance Reports.