Large files and heavy web content can make pages load for too long. We keep generating new and new content while the number of users is constantly growing. So as a content provider you need to find the right tools to optimize content delivery to keep users engaged. How to optimize the delivery of files and boost performance of your content delivery network? Segmented download is the secret of battling downtime and lags.
Initially, when a user made a request for some content, it was streamed from the origin. It could be simultaneously cached on a local server. If users request different byte ranges, another stream would be opened to serve the content. That results in a higher load than expected while a file is pulled into the cache. There are two main issues with monolithic download used in traditional CDN solutions:
- Although we can transfer many cached files in and out of memory, the increasing volume of content takes up a lot of resources, because such download process requires the full file to be in memory during delivery.
- Downloading of the entire file puts extra draw on the origin server, particularly when the file is large.
Even if the general cache-hit-ratio is high for the origin server, there will be times when it’s not in cache because it’s been purged or rarely requested.
Large files are rarely consumed, or are partially consumed, and segmented download pulls the ranges from the origin that end users do consume, which helps to lower the total outbound traffic from the origin. For instance, if there is a two-minute fragment of a video that users usually watch, a movie that no one watches to the end, the network will only pull the data required to fulfill the request. This minor change can greatly improve cache efficiency. When this model is used, a large file can be segmented into 8-megabyte chunks with only some of them cached, which will optimize inventory space, download speed and other values.
However, segmented downloading has some challenges. For instance, if you use a TTL (time to live) system that also works in your origin, you will need to adjust TTL to be long enough for all segments to be transferred. To maintain the function of instant global purge, the inventory should be life-aware and segment-aware. Segmented downloading model is only being developed and improved, but it will definitely become a must in advanced CDN networks.