Lowest Cost Cloud Load Testing Tool

Web Performance Optimization, Part 8: Content Delivery Networks

So far in our series on Web Performance Optimization, we've focused on how to reduce the number of requests between client and server through caching, and how to make requests more efficient by managing server resources. Another strategy in Web optimization is intelligent distribution of resources across the Internet, which can greatly reduce request latency by locating redundant copies of Web content on multiple servers spread across the Internet. In this installment of our series, we focus on content delivery networks (CDN), a technology that increases throughput by bringing content closer to the people requesting it.
 

What is a CDN?

In the simplest Web site configuration, a single Web server services requests from multiple clients. While this is often good enough for the simplest, lowest traffic Web sites, complex Web sites that need to scale to thousands or millions of visitors require more processing power. This is why many sites have resorted to using Web server farms, which are clusters of multiple Web servers offering redundant copies of a site's content. Web farms use load balancing software to monitor the amount of load on any one server. They can also use this information to route requests to the server with the least load at a given point in time.

web optimization content delivery networkA CDN is a type of Web farm or server cluster, except that instead of using a single farm or cluster, the servers are spread out over the Internet in multiple geographical locations. These are called edge servers, because they are located at the extremes, or edges, of the Internet, instead of all being located off of a central Internet backbone link. The goal of a CDN is to decrease the time it takes to deliver content to a specific user based on that user's location.

Let's say, for example, that a company based in New York receives a request for Web content from a user in Seattle, WA. In a traditional setup, the Seattle computer's request would have to find the most efficient route on the Internet to New York, usually via a busy backbone link. In a CDN configuration, the CDN could tell the Seattle client that its nearest edge server is on a subnet in Portland, Oregon. By obtaining the content from a server closer on the network, the client greatly reduces request latency.
 

The Uses of a CDN

CDNs can be used for a wide range of content. The majority of a Web page request is spent downloading dependencies such as images, CSS scripts, and JavaScript files. Placing this relatively static content on a CDN can provide a significant performance boost. Companies that serve streaming content, such as audio and video, can utilize CDNs to deliver high-definition video streams and high bitrate audio with better image quality and fewer pauses to buffer content.
 

Performance Benefits

The boosts achieved from using a CDN can be significant. In 2010, the CDN performance tracking site CloudClimate.com not only compared the performance of 24 CDN and cloud computing companies against one another, but also compared the performance of cloud-based Web sites both using a CDN and not using a CDN. The results were astounding: for every cloud-based provider tested, CloudClimate.com found that adding a CDN into the mix provided a speed boost of up to 50%.

Another company that noticed the performance benefits of CDNs is Yahoo!. The company claims that when it started using a CDN in 2007, it achieved a 20% or greater boost in end-user response times.
 

Types of CDNs

CDNs differ in how they cache content and deliver it to users. Following are some of the most common types of CDN.

  • Push. In a push CDN, a central server replicates its contents to the edge servers, so that every edge server has the latest copy of the content on the origin server.
  • Origin Pull. An origin pull CDN server caches the latest copy of a static file from the origin server, and serves this cached copy to subsequent users. The caching Web server relies upon the caching mechanisms defined by the HTTP/1.1 protocol, which we covered in a previous article.
  • Application. While most CDNs deploy static content, an increasing number are branching out to offer distributed application services, replicating server-side applications written in languages such as PHP and .NET to edge servers. EdgeCast Networks launched its own application CDN service in April of last year, claiming that the companies that tested the service in beta experienced performance gains ranging from 40 to 250 percent.
  • Peer-to-Peer. A peer-to-peer CDN shares cached content amongst users of the same site. For example, User 1 downloads the first minute of a video from a popular Web site. When User 2 and User 3 request the same content, the CDN instructs them to download it from User 1, thus reducing the overall load on the origin server. This CDN model is most typically used for audio and video content.

 

The Costs of Using a CDN

One of the benefits of using a CDN these days is that there are so many providers. This means that development teams need not squander resources development their own CDN solutions. Furthermore, the abundant competition has also pushed prices to all-time lows. Most CDN companies offer their services on a metered basis, and charge only pennies per gigabyte of data served to users. Other CDN providers charge flat fees, such as $40 or $60 for the first terabyte - enough bandwidth to serve many small sites for a full year.
 

Conclusion

CDNs have an excellent cost/benefit ratio, as they expand Web server capacity by 20-50% or more at low cost to the Web site operator. Whether you run a small site with thousands of users a day or a massive site that serves millions, you can achieve significant performance testing improvements by offloading all of your static content to a CDN.







Storm on Demand - Pay Per Test

Storm on Demand Users Cost
1,000 $39.90
5,000 $199.50
10,000 $399.00
25,000 $997.50
50,000 $1,995.00
100,000 $3,990.00
200,000 $7,980.00

performance testing sign upIt's easy. You can be load testing in 15 minutes.

  1. Click the "Free Account" button.
  2. Enter your name & email address.
  3. Click the confirmation link in an email.
  4. Create a test scenario for your site.
  5. Run a load test.
  6. Analyze the test results.
  7. Send us a testimonial because you are amazed!

Customers love our load testing tool

“We needed an easy & cost effective way to load test our Windows Azure solution. Thanks to LoadStorm - highly recommended!” - Jonas Stawski, Microsoft MVP

"LoadStorm is a very useful tool." Alan Cheung, Manager - Technical Services, Dow Jones Publishing Company

"It has been a pleasure to work with LoadStorm." - Mike Compton, V.P. of I.T., Hearst Business Media

"Load-testing in the cloud was a great solution and LoadStorm a dream partner. " - Julie Hansen, COO, Publisher, The Business Insider

"There was no risk because I knew what the tool would provide before spending a dime. LoadStorm is a great tool." - Richard Ertman, QA/Release Manager, PETA

"I am definitely a fan of LoadStorm. I like its ease-of-use and the way in which the solution scales." - Darin Creason, Sr. Software Engineer, TransCore Corp

Want a Live Demo? Have Questions?

Please feel free to contact us:

(970) 389-1899

We are eager to help you with LoadStorm in any way that you need.