CDN providers are always bragging about the size of their network, and how many Points of Presence (POPs) that they have. Higher capacity, more resilient networks are fantastic from a security point of view (think DDOS attacks), but more POPs can also have a negative effect on what the CDN was designed to do, take load off an origin and improve performance to end users.
The POP Problem
Modern CDNs are what's called 'Pull' CDNs. That means that the CDN won't store content/resources until a user requests it. The first time a user requests a resource it goes to the CDN POP, it checks its local cache, it gets a miss, so it then passes the request through to origin. As the resource is returned, the CDN stores a copy for the next time someone wants it. If your CDN has 100 POPs, then this process has to be repeated 100 times to fully 'warm' the CDN for that specific resource. That's 100 requests to origin. The more POPs your CDN has the more likely you are to get a miss and hit the origin.
When the caches at POPs are fully populated, the effect on your application can be minimal. However, during a cache MISS event, typically either due to resource expiration or a manual purge, many requests can be sent to the origin server concurrently while the individual POPs rebuild their caches . The more POPs - the longer the process takes.
This can be very problematic, especially when caching dynamic pages that need to be server side rendered, large resources, or transformed resources. For example, take a busy ecommerce store running Magento during a sale, Magento will purge content when sales are made, forcing the cache to rebuild each time. During a busy period it can significantly decrease your cache hit rate and severely degrade site performance.
Enter Origin Shield
CDN Origin Shield is a feature that lets you nominate the CDN Point of Presence closest to your server as a shield. All requests that hit other POPs and receive a cache miss will then go to the nominated shield before hitting the origin. The shield becomes a 'super cache' and can dramatically reduce the amount of requests to your origin in a cache miss.
Peakhour.IO implements origin shield as a simple dropdown on an origin pool where you can select the geographic location that should be used as a shield. Requests to your origin are now routed through this geographic location your origin in a cache miss scenario.
Clients who use multiple geographic origins can also benefit from Origin shield. Peakhour.IO allows the specification of an origin shield per origin, just keep in mind that for geographic load balancing you will need to contact support for setup.
Seeing is believing
The Peakhour.IO summary now includes your edge CHR, your shield CHR and your overall CHR so that you can see the effect in action.
- Some of our clients have seen typical increases of 10-20% of their overall Cache Hit Rate, and greater than 40% when specifically looking at often flushed dynamic content.
- Quicker cache convergence
- Less hits to origin
- Better end user experience
- Higher conversions
Origin Shield is a MUST HAVE feature for certain types of site or if you're looking to maximise your cache hit rate. CMS's that offer built in full page caching, like Magento, Drupal, flush content often, and are susceptible to performance degradation as load increases. Minimising hits to the origin in these cases is vital.
If you are interested in getting the most out of your CDN, require a bespoke CDN solution, or require a provider that offers a full suite of performance, optimisation and security solutions, reach out TODAY to discuss how we can add value.
Origin shield with request collapsing is a powerful suite of tools to enable you to minimise origin hits, achieve a high CHR and maintain user experience for your web application.
If you are interested in developing or supporting highly scalable, highly performant and solutions - we're growing rapidly and are always on the lookout for talent.