The Internet has more than its share of misconceptions and half-truths. However, one of the most significant mistakes is the belief that bandwidth speed alone determines how fast a webpage will load. The truth is more complicated—your website’s load time depends on user bandwidth and the latency of your server.
You can’t control the quality of your user’s Internet connection. However, there is a proven way to improve the latency of your server by using a Content Delivery Network (CDN). CDNs support your site by storing and caching your content (such as images, CSS, videos, and the like) and serving this content from an EDGE location. The result? Your webpage and all its content loads faster and more reliably.
This leads to the natural question: which CDN delivers the right combination of value, reliability and performance? To learn the answer, I designed and conducted a series of tests measuring the speed and performance of four CDNs: S3, CloudFront, Fastly, and section.io.
How I Tested These CDNs
I created my test to simulate a typical loading task for a website facing low to modest traffic. Using an S3 server, I pushed a 100kb file and tested how many transactions the CDN could handle over a period of 90 seconds with 100 concurrent connections on a single 300mb/second link; I also measured the CDN’s transfer rate and response time.
The table below reveals my test results, but first, a few qualifications:
- I chose S3 as the test server because of my experience with S3 as well as S3’s support from Amazon Web Services.
- I chose these four CDNs because of their similar price point and my familiarity with them.
- There was no “warming” of the cache by throwing a preliminary file at it to scale the cache upward. This allowed the test to better simulate a site with modest traffic experiencing a sudden rush of visitors.
- My test did not include comparisons between the different CDNs’ features, such as the ability to invalidate a CSS file or security capabilities.
CDN Performance Results and Observations
S3 | CloudFront | Fastly | section.io | |
Transactions | 7533 hits | 12456 hits | 12131 hits | 12284 hits |
Availability | 100% | 99.14% | 99.34% | 99.51% |
Elapsed Time | 90.03 sec. | 89.95 sec | 89.81 sec | 89.47 |
Data Transferred | 735.64 MB | 1216.41 MB | 1184.67 MB | 1199.61 MB |
Response Time | 0.95 sec | 0.33 sec | 0.37 sec | 0.39 sec |
Transaction Rate | 83.67 trans/sec. | 138.48 trans/sec | 135.07 trans/sec | 137.3 trans/sec |
Throughput | 8.17 MB/sec | 13.52 MB/sec | 13.19 MB/sec | 13.41 MB/sec |
Concurrency | 79.1 | 45.05 | 49.74 | 52.9 |
Successful Transactions | 7533 | 12456 | 12131 | 12284 |
Failed Transactions | 0 | 108 | 80 | 60 |
Longest Transactions | 9.04 | 31.15 | 31.21 | 31.27 |
Shortest Transactions | 0.12 | 0.05 | 0.1 | 0.17 |
Amazon CloudFront emerged as the clear frontrunner, leading the pack in transactions processed, data transferred, response time, and speed. CloudFront also led the way in failed transactions, though the 108 failures represent less than 1% of transactions attempted.
That said, these results represent only one test in one set of circumstances. It’s important to try out different CDNs for yourself to find the combination of performance, features, and price that best fits your needs. If you have specific questions regarding CDNs or Amazon Cloud Services, our development team is here for you.