Using RUM to make the most of your CDN investment
It looks like the CDN (content delivery network) market has reached cruising altitude. CDN providers are offering competitively-priced packages and not only that. The technology they use interacts well with other technologies like real-user monitoring (RUM). This is a good thing because sometimes first impressions can be misleading. Despite all they can do to serve your web content faster, CDNs should not be seen as an all-in-one performance booster.
CDN’s & website performance
More and more businesses are resorting to content delivery networks as a performance solution to improve their users’ experience of company websites. In addition to helping to ensure better availability and economizing bandwidth, one major way CDNs contribute to improving user experience is by reducing latency. In other words, they can speed things up significantly, mainly for websites whose audiences are geographically remote from the web host.
Let’s consider the hypothetical case of a locally-hosted Canadian website reaching out to customers in Asia. For this, a CDN provider’s fleet of distributed servers or ‘edge caches’ in the target region (e.g. Asia-Pacific) can trim latency by serving cached page resources directly to visitors in those areas. This makes pages display faster because each request for a resource doesn’t have to travel all the way to the host server in Canada, and then come all the way back over the Pacific with the requested content.
This is straightforward in theory. In practice, of course, it’s more complex. You need to find out what is actually happening for the distant user. The results may be surprising.
Monitoring Real-User Experience
In a real-world case, we used our real-user monitoring tool to collect metrics over a week for a Spanish customer (a company doing business in Europe, the Americas and Asia). We then compared Content Delivery Network and host server results. We found that overall, the CDN improved performance for users abroad. However, we also found that behind good CDN average speeds there was an amazing amount of fluctuation. That meant faraway users could not benefit from uniformly good performance. Sometimes response times were actually much worse! We were able to determine that routing problems were causing the mischief. Routing mishaps are not an unusual problem in such contexts. The essential thing is to be able to identify the problem so you can fix it.
Sometimes, however, the problem is not as simple to track down. We had a case where performance with the host server was, on average, about the same as the CDN. Why was our customer (the website owner) not getting any benefit from its investment in a CDN? We drilled down to the picture at the measurement points on our global metrology network, looked into metrics for each server, and so forth. Still no definite trends emerged. But analyzing more deeply in terms of page items led us to investigate a whole landscape of domains. And in the cached homepage served by the CDN we found… a redirect in the primary domain. The result of the redirect was not cached, and it was wreaking havoc on CDN response times.
Having pinpointed the problem, it was solved very quickly in dialogue with our customer and the CDN provider. Subsequently the CDN was able to deliver consistently faster pages to all target audiences.
So are CDNs a good way to boost performance?
Yes, when you’re looking at an intercontinental type of service situation and matching it with the kind of coverage a particular CDN provider can offer.
Are CDN providers a one-stop performance solution?
No, because although they bring content closer to your users and can even streamline a great many FEO (front end optimization) tasks, they cannot take on all aspects of optimizing your website, particularly with respect to third-party content, outside domains, and so forth.
Above all, they can’t always be aware of problems that are degrading user experience. Therefore, you need to be aware – and make your CDN provider aware – of any issues which may be affecting your users. You can do this by calling on an outside specialist of application performance monitoring with specific experience and RUM tools for dealing with CDNs and website issues.