A common question in the Content Delivery World and one that we at section.io hear a lot is “How many PoPs does my website need?” To answer this question, first we will go into the background of CDN PoPs and why they were first utilized.
What is a CDN PoP?
Points of Presence (PoPs) are at the heart of the CDN infrastructure: when CDNs first came about, their primary purpose was to serve content from globally distributed servers or PoPs that were closer to a website’s end users than the website’s origin server. By placing PoPs all over the world, global visitors to a website would get directed to the nearest PoP to them, rather than having to travel back to the origin server. This solved a core problem in the earlier days of the internet, as hosting centers had low bandwidth and as more and more people were trying to access websites, there would be a bottleneck which caused websites to respond to requests slowly or collapse under the pressure of too many requests and go offline.
CDN PoPs solved this problem by dispersing the number of requests going to the website’s server to many servers across the globe, and at the same time storing cached content on each PoP which could be immediately served to website visitors without going back to the website server. When a PoP cache was full (more on that below), certain content could be served directly from that PoP cache. The most common items to be cached on the PoP were static objects such as image files. Nowadays, CDNs are much more powerful and many more items including dynamic files can also be stored in a cache.
As internet usage grew, legacy CDNs added more and more PoPs, and today those older CDNs have by some estimates hundreds of thousands of PoPs across the globe. But back to the question at hand - does your website actually need all of those PoPs?
The case for fewer, stronger CDN PoPs
In recent years modern CDNs have come along and challenged the notion that a higher number of PoPs is better by placing more powerful PoPs at strategic points along the internet backbone. The internet backbone is the series of cables that connect locations around the world to the internet: The further away an end user is from the internet backbone, the longer content will take to be delivered to them. By placing PoPs nearby the internet backbone, modern CDNs reduce the time it takes for content to travel between locations.
In additon to placing PoPs in strategic locations, modern CDNs also have much fewer PoPs than legacy CDNs. Instead of tens of thousands, they may have under 50 PoPs around the globe. Website owners may worry that having less PoPs will slow down their website, but in fact for all but the smallest number of websites fewer PoPs will result in better caching and website performance.
Here’s a quick explanation of why that is the case: When the first user visits a webpage (in this example we will use a website homepage), they will be directed to the nearest CDN PoP. However, that PoP will not have any cached content stored yet and will need to go back to the origin server to get the homepage content. The PoP will then deliver that content to the first visitor, and store a copy of the content that can be served from the cache to the second and subsequent visitors.
The “cache hit” percentage indicates the percent of requests that can be served from a filled cache, and websites should aim to have a cache hit percentage that is as close to 100% as possible. To get into the math of it, if the homepage of a website has 100 visitors from the East Coast going to one PoP in New York, the first visitor would count as a “cache miss” and the rest would be “cache hits,” resulting in a cache hit rate of 99%. However, if those same visitors were spread over 10 PoPs along the East Coast, the cache hit percentage of each PoP would be 90% assuming the visitors are spread equally. If the visitors are not spread equally among the 10 PoPs, some PoPs would have a lower cache hit rate.
A lower cache hit rate means both 1. More visitors experiencing a slower load time due to the PoP cache not being filled 2. Increased requests to the website server to fill the various PoPs
Because of this, the only type of website that benefits from a CDN with thousands of PoPs around the world is one that serves only a few pages to a very distributed global audience. In fact, for many websites performance and cache hit ratio will improve with less PoPs. When section.io worked with one website to turn off 100,000 CDN PoPs and switch to section.io, we found that only about 10 PoPs were actually being utilized with the legacy CDN, and website performance improved when they switched to section.io’s more modern, less PoP-heavy network.
Page load time for today vs. yesterday and last week shows a performance improvement with less PoPs:
Improve website performance with a Next Generation CDN
Are you looking to improve your website performance and security with a modern CDN? Contact the section.io team to learn more about our next generation CDN or sign up for a free 14-day trial of the only website performance solution built for developers.