Your CDN is not a Silver Bullet for Web Performance

When speaking with various website owners on the topic of how they manage their Web Performance, we occasionally hear statements along the lines of: “We have a CDN to manage performance of our site.”

It is often misunderstood that using a CDN is not a Web Performance Management silver bullet.

Akamai, and other CDNs, provide a service where you can offload your site’s images and other static content to datacenters which are close to your customers. The idea is that if there is less distance for your content to travel, it will get there faster.

This is true, however, image download time is typically not the major bottleneck in page load time. When dealing with clients in the ecommerce and SaaS world, here are the two most common causes to poor Web Performance:

  • 3rd Party Content
  • Server-Side Processing

Neither of these bottlenecks are addressed by loading static content from a closer location. Let’s examine the an example of each case.

3rd Party Content Delays

This first example shows the load time breakdown of a single page that took over 1m to load. This particular site makes use of a number of Web Performance Management best practices. However, when we investigate the page to see what is causing the delay, we find that it’s caused by an intermittent issue with an asynchronously loading 3rd party plugin.

Regardless of the robustness of the content delivery methods, this page, as designed, will always be subject to delays from the 3rd party plugin. Spending thousands of dollars on CDNs will not solve this problem. By delaying the load of this plugin until the page is completed, you will be enable the page to load independantly of 3rd party delays.

Server-Side Processing Delays

This example is from an ecommerce site that currently utilizes a CDN to deliver their static content. By monitoring their checkout process (Go to Site -> Select Item -> Add Item to Cart -> Checkout) we go through 4 pages in just over 18s. Most of the pages load quickly, with images and other static content loading in under 50ms.

Even with the content downloading quickly, we still see a glaring bottleneck in the conversion path. The “Add Item to Cart” function takes over 7s to process on the server! That gives the customer 7s to watch the loading spinner and abandon the site. This function needs to be optimized on the web server itself.

What is the Silver Bullet?

The point of these examples is to illustrate that there are no silver bullets when it comes to optimizing your Web Performance.

If you want to make meaniful improvements on your site, you must:

  • Take a top-down approach – Analyze your site’s critical functions the way your users access them.
  • Find your bottleneck – What are the top 1 or 2 contributors to page load time?
  • Optimize the bottleneck – Focus your improvements where you will recieve the performance maximum gains.

Otherwise, you are likely to spend significant time and money spinning your wheels and getting insignificant results.

What other causes have you seen that slow down your sites?

Share this:
Email
  • http://www.3pmobile.com Peter Cranstone

    Great post. Everyone looks for the silver bullet, while the bronze bullet of doing what you say AND cutting down on sending data makes a lot of sense.

    We have a Mobile browser that allows you to measure HTTP performance on your actual device. From the HAR reports it’s very easy to see which 3rd party vendors are causing you performance problems.

    Cheers

    Peter
    3PMobile

    • http://rigor.com Craig Hyde

      Thanks Peter.

      My main point is people should spend some time finding the bottleneck before optimizing. There may be a silver bullet for some sites, but you never know until you measure first. This is especially important in mobile, since there is more involved in content delivery.

  • http://www.cloudflare.com Chris Joel

    I work for a CDN / web security solution called CloudFlare. I spend a lot of my time trying to figure out how to better optimize slow-loading websites. and this article echoes my experience. Many sites that sign up for our CDN service get a boost from asset caching, but it isn’t always enough to convince our customers that they should use our service indefinitely. However, we have other optimization features (which we can provide because we are a proxy service) that attempt to give our customer’s users a more performant loading experience on the front-end, and these features provide a very significant boost on top of the gain received from the CDN.

    • http://rigor.com Craig Hyde

      That’s great that you provide the services needed to follow through for your customers at CloudFlare. I’m sure that puts you leaps and bounds beyond your competition.

  • http://www.cameronmunroe.com Cameron Munroe

    CDN may not be a silver bullet, however they do help along the lines of the load on the server and server side processing as they remove extra http requests on the main web server side which can cause slower performance to the user. For example I have a page with 10 pic and 4 css files and 1 php file. Without a CDN those 15 files are loaded by 1 server. With a CDN you distribute the load so that only 1 php file is loaded and the rest are loaded by other servers which splits the load. Also without a CDN you have the odd ability that if 20 people hit you site at the same time that they can cause the server to max out there current max number of http connections causing more issues. In any case I agree that a CDN is not a silver bullet, but they do !HELP!.

    • http://rigor.com Craig Hyde

      Good stuff Cameron. I think we’re on the same page here.

      CDNs definitely do help cut down on the requests and round trip times for each page load, sometimes significantly.

      The trick is to take an objective measurement of your site’s load times so you can make an educated decision regarding the benefits of introducing additional moving parts to your site’s architecture.

  • Pingback: The 20 best web performance links of Q4

  • Ahmed Samir

    Such great article. MAY do not understand that CDN is not magic, I hope this article will help them.