Your browser (Internet Explorer 6) is out of date. It has known security flaws and may not display all features of this and other websites. Learn how to update your browser.
X

Content Delivery Networks

Introduction

Every day millions of YouTube videos are watched, popular sites such as Facebook are getting billions of hits per day, and new patches and downloadable content are released for your favorite video games. Because of the massive amounts of bandwidth that are required to deliver this content, most companies turn to content delivery networks to help relieve some of the stress on their network. Because of the high demand for CDN’s, more and more companies are  beginning to offer the service. They range everywhere from pennies per GB of data transfered to, well, an undisclosed amount reserved for the big boys (such as Akamai and Limelight). Here we will go over various pay-as-you-go CDN services, testing their response time, speed, prices, and features.

Response Time

[Pingdom Graphs Will Go Here]

Download Speed

It doesn’t matter if you’re using a CDN to deliver images, stylesheets, and javascript for a web page or if you’re using it to deliver applications 100MB and above. No matter what the use is, you probably want it to be fast. Lets take a look at various CDN download speeds. I didn’t have access to the Akamai account, so I was unable to do more than one cache miss test. As for Rackspace Cloud Files, I didn’t have the time to re-upload 100MB files for every test I wanted to do. Below are graphs representing various CDN’s and their download speeds. Each graph represents download speed tested from one location, as visible in the chart title. Blue graphs represent cache hits, and red represent cache misses. Keep in mind that these speed tests can be inaccurate due to network congestion on the VPS used to run the speed test. These tests were ran around 7PM EST (-5 GMT)

Download Speeds From Amazon EC2 In California
Download Speeds From Amazon EC2 In California

Most all CDN’s performed well when tested from the east coast. It looks like SimpleCDN came out on top, which was the last CDN I expected to come in first place. GoGrid and Amazon Cloud Front seemed to have very low cache miss speeds (A cache miss is when the requested object isn’t on an enpoint node and has to be fetched from the storage system in use by that CDN). However, cache misses are very rare, as the cache will be refreshed after just one miss (or should be, at least). The MaxCDN Cache Misses had to fetch the object off my shared hosting server which resulted in lower than possible speeds. All in all SimpleCDN and GoGrid CDN came out ahead in the speed test for Northern California, but speed isn’t everything.

Download Speeds From Amazon EC2 In Virginia
Download Speeds From Amazon EC2 In Virginia

This test really surprised me, mostly because I expected more from Akamai. Amazon Cloud Front actually had much higher speeds when the object wasn’t cached in an end point than when it was. This was most likely due to the Amazon S3 servers being in extremely close proximity to their EC2 servers (and quite possibly the same network). I expected much higher cache hit speeds from Amazon though, seeing as how I was testing it from their own network. Once again, network congestion plays a strong part in these tests. As far as SimpleCDN’s cache hits/misses, I’m not quite sure about. Every CDN I tested specifies in some way in the HTTP response headers if the object is cached or not. SimpleCDN, however, does not. I’m not quite sure how their network works, but I counted cache misses as the first request to an object, and cache hits for subsequent requests. The requests very well may have been coming from the same server every time though. MaxCDN really blew away everyone else in this tests, reaching speeds upwards of 60MB/s and was closely followed by GoGrid CDN. GoGrid still had a low cache miss speed, but as mentioned before, cache misses are rare and were forced in this example. MaxCDN never had a cache miss speed higher of 10MB/s due to my server upload speed being capped at 10MB/s.

Download Speeds From Amazon EC2 In Ireland
Download Speeds From Amazon EC2 In Ireland

When testing from Ireland, Akamai came back up to speed. I’m kind of disappointed in Rackspace Cloud Files, which uses Limelight Networks to deliver content. Amazon Cloud Front is the clear winner, however, I’m testing it from their network, which may or may not play a small part in their high speed. GoGrid, however, has remained fast from every location so far. SimpleCDN, however, didn’t do so hot this time. SimpleCDN recently stated that their free accounts will not be able to use their entire CDN network, so this probably plays a huge part in their slower speed from outside the United States.

Download Speeds From Rackspace Cloud Servers In Texas
Download Speeds From Rackspace Cloud Servers In Texas

Once again I’m fairly certain there’s no difference between cache misses and hits for SimpleCDN. Akamai really came through there and looks as though it was limited by the VPS connection I was on. GoGrid is still going strong, although its ~300KB/s download speed on cache misses is really annoying. Other than that, their speeds are still quite good. MaxCDN is right up there with GoGrid CDN as well, passing SimpleCDN, Amazon Cloud Front, and Rackspace Cloud Files in download speeds. I expected Rackspace Cloud Files to win this test, considering I was doing the speed tests on their network. Although they do use Limelight Networks, so I was unsure as to where the file was actually coming from.

Download Speeds From GoGrid Servers In California
Download Speeds From GoGrid Servers In California

This test was much like the Amazon EC2 test from California as far as every CDN is around the same speed. And GoGrid is still going strong (if you don’t count its cache miss speeds)

Average Download Speeds
Average Download Speeds

And so there we have it. Above is the average download speeds over the above graphs. I was very surprised GoGrid and MaxCDN were able to beat Akamai in the speed test. So it was GoGrid in first place, followed by MaxCDN which was closely followed by Akamai and Cloud Front, then SimpleCDN and finally, Rackspace Cloud Files in last place. These are the average download speeds when tested from California, Texas, Virginia, and Ireland.

Pings

The following charts depict response times over 100 pings to the CDN from each testing location.

Response Time From Amazon EC2 In Ireland
Response Time From Amazon EC2 In Ireland
Other Stats
CDN Hops To CDN Packet Loss
Amazon Cloud Front 4 0%
GoGrid CDN 9 0%
MAXCDN 10 0%
Rackspace Cloud Files 12 0%
Akamai 7 0%
SimpleCDN 15 0%

GoGrid, Rackspace Cloud, and Akamai all overlap each other and all had an average response time of 13ms. SimpleCDN did terrible, with an average response time of over 100ms. Amazon performed the best, due to the close proximity of the CDN network. I’m pretty sure the CDN and EC2 instance were on the same local network with a mere 4 hops between the EC2 instance and the CDN network. SimpleCDN decided to take my request all the way to the United States from Europe which greatly increased the response time of the ping. For the most part, all CDN’s were below 20ms with only a few spikes here and there which could have been caused by either the CDN itself, traffic in the tubes, or EC2 network hiccups.

Response Times From Amazon EC2 In Virginia
Response Times From Amazon EC2 In Virginia
Other Stats
CDN Hops To CDN Packet Loss
Amazon Cloud Front 7 0%
GoGrid CDN 10 0%
MAXCDN 11 0%
Rackspace Cloud Files 12 68%
Akamai 9 0%
SimpleCDN 13 0%

Once again SimpleCDN really throws off the graph here with an average response time of 25ms. However, there’s something else to note here. Rackspace Cloud Files had a packet loss rate of 68%! I have no idea what caused this extremely high packet loss rate. I did the test multiple times over the course of about an hour and not one test had a packet loss percentage of under 25% which is extremely unacceptable for a CDN. I’m pretty sure dialup had a higher reliability than that. Anyways, I graphed what data I had of the Rackspace Cloud Files pings but as you can see, about 40% of the way into the graph it cuts off due to not having data for the other 60% of the packets. This was very disappointing.

Pricing

Amazon Rackspace GoGrid CDN Simple CDN Max CDN
Storage $0.15/GB† $0.15/GB $0.60/GB* $0.75/GB* $1.00/GB*
Transfer In Free†‡ $0.08/GB Free Free $0.099/GB†
Transfer Out $0.17/GB† $0.22/GB $0.25/GB $0.039/GB† $0.099/GB†
GET Requests $0.01/10,000 Free Free Free Free
PUT/COPY/POST/LIST Requests $0.01/1,000 $0.01/500 Free Free Free
†Variable Pricing. Price listed is the starting price. Price will decrease with high usage.
‡Free until June, 30th, 2010. After June 30th, prices will return to $0.10/GB.
*Storage not necessary for Origin/Mirror/Pull setup. You may use your own storage.

Features

Amazon Rackspace GoGrid CDN Simple CDN Max CDN
Maximum File Size 5GB 5GB ??? ??? ???
File Storage Required Yes Yes No No No
FTP Access No No Yes Yes Yes
Manually Purge Cache No No Yes Yes Yes
HTTP Compression No No Yes Yes Yes
Free Endpoint Transfer No Yes ??? ??? Yes
HTTPS No No Yes* Yes Yes*
Raw Logs Yes Yes Yes No No
Realtime Logs No No Yes* No Near Real Time
CNAMEs Yes No Yes Yes* Yes
Custom Response Headers Yes No No No No
Flash Streaming (RTMP) Yes No Yes Yes Yes
Windows Media (MMS) No No Yes Yes Yes
*Additional Charges Apply

Customer Service

The following is the time taken to respond to a support ticket to each CDN company.

  • Stef

    Whenever is convenient, sorry for the delay, was just checking google analytics and saw the link.

  • http://www.ryankearney.com/ Ryan Kearney

    Thank's for the offer, however I've been quite busy lately and haven't been able to dedicate much time to personal hobbies such as this. Perhaps I could email you in the future regarding this subject (using the email you posted that comment with)?

  • http://scaleengine.com Stef

    We'd be happy to set up a test on our CDN, http://scaleengine.com