Testing DuckDuckGo CDN performance via Cedexis Radar

A few weeks ago, I ran a test on DuckDuckGo to see if CDNs would help the search engine perform better (and, if so, which CDNs in particular). I did the testing with Cedexis, a startup I know via prakash from HN.

The way it works is they collect real-time statistics using DNS on all the CDN providers (they call this Radar). CDNs covered include Akamai, Amazon Cloudfront, BitGravity, CDNetworks, ChinaCache, Cotendo, Edgecast, Highwinds, Internap, Internode, Level3, Limelight, Ngenix, Prime Networks, and Yacast (here's the full list).

It's done via JavaScript so that it completely reflects the userbase in question, in this case DDG. It's also private (i.e. in line with DDG's strict privacy policy), which I confirmed in writing before doing the test.

Here's what I learned. The top 3 countries from which DuckDuckGo got Radar traffic are the US (48.38%), UK (15.72%) and Canada (5.13%). The countries that make up ~80% of DDG traffic are: US, UK, Canada, Germany, Australia, Spain, Netherlands, India and France. 

In the US, it turned out that DDG is faster than most CDN's. In the UK, for more than 80% of end-users, DDG is faster than most CDN's. In Canada, for ~35% of end-users DDG is the fastest, and for the rest of the users Internap, BitGravity and Limelight are the fastest depending on the network.

CDN speed varies by DNS provider. For the US, that DNS provider breakdown is ATT (12.44%), Google (9.57%), OpenDNS (6.51%), Verizon (5.47%), and Level 3 (2.9%). For the UK, OpenDNS has 61%, followed by Btnet (8.85%), Ntl (7.04%) and Opal (2.72%)--others are listed in the spreadsheet linked to below.

By country, here is the speed of out servers (avg. HTTP response time). All our servers are in the US, and you can see how response slows as you get farther away.

On any given day, Radar determined which provider "won" in a given country and DNS provider. Their more advanced product actually uses this data to route users to the best CDN at any given time.

The summary of all this data is in this spreadsheet (Google doc). It declares a winner (over the whole time period) for country and DNS provider, and lists average response time for each CDN across those variables. For example, here is the US breakdown. For the full data, check out the spread sheet (I made it public).

DuckDuckGo uses DNSMadeEasy for DNS and is on the Verizon FIOS network. See this (somewhat outdated but largely accurate) post on DDG architecture for me details on our setup.

My takeaway from this is moving to CDNs is not super-pressing at the moment. It would be better to have some local servers.

Prakash has also told me that he'd be happy to do a similar free evaluation for anyone else from HN. You can email him at prakash@cedexis.com.


If you have comments, hit me up on Twitter.
I'm the Founder & CEO of DuckDuckGo, the search engine that doesn't track you. I'm also the co-author of Traction, the book that helps you get customer growth. More about me.