Large File Optimization

Large File Optimization (LFO) provides better performance and reliability for delivering large files. It fetches target files in fragments only as needed rather than downloading the entire file to serve a small portion.

Features and options

OptionWhat it does

Enable

Set this slider to On to enable LFO.

LFO Type

Set the implementation type:

  • Create partial objects (use with NetStorage always). Select this to cache partial objects, also referred to as chunks. When caching partial objects, there is some risk of content corruption if the chunks come from a different version of the same file, for example, from different servers containing different versions. See Requirements and best practices for additional requirements.
  • Cache whole objects only. As the name describes, the entire object is used and included in edge server caches.

📘

NetStorage automatically applies partial object caching when serving large objects.

Minimum Filesize

Use optimization only on files larger than the specified value. Expressed as a number suffixed with a unit string such as MB or GB.

Maximum Filesize

The maximum size of files to be optimized. Expressed as a number suffixed with a unit string such as MB or GB.

Filename Policy

You need to select a filename policy for use with caching. This tells ​Akamai​ what to look for to maintain caching of files used with LFO:

  • Files renamed when changed. This applies if you rename (version) files on your origin when you change them.
  • Files not renamed when changed. This applies if you need to perform in-place updates of large files and will be keeping the existing file name.

Requirements and best practices

Before you add this behavior, consider these points:

  • LFO is configured differently with Download Delivery. If you're using Download Delivery, don't add this behavior. Instead, use the Origin Object Size settings in the Content Characteristics behavior.

  • LFO requires Etags and byte range requests. Your origin server needs to support these:

    • Entity Tags (Etag). An ETag is an HTTP header used for cache validation and conditional requests from a client for an object. Your origin server needs to include these in responses to a request. You can optionally include the Validate Entity Tag (ETag behavior in your rule to validate Etags.

    • Byte-range requests. These occur when a client asks your origin for a portion of the requested file. Your origin server needs to include the Accept-Ranges: bytes header in a response to a request.

📘

If you're using NetStorage as your origin server, these are automatically supported.

  • LFO is best-suited for objects larger than 100 MB. In addition, LFO is required for files over 1.8 GB in size that you serve through ​Akamai​. You could use NetStorage to help with these limits.

  • Apply LFO to the specific file content to be optimized. Add this behavior in a rule with the criteria set to match on specific File Extensions, for example, to .gz files. So, only those file formats will be targeted for LFO.

  • Use Files renamed when changed. You should set this as your Filename Policy and version or rename files when they change.

  • Ensure that all of your selected file types need LFO. If you specify a large file setting, but your origin never actually serves files in that size range, ​Akamai​ makes additional requests to the origin. This can affect performance. An edge server requests the first byte of each object to determine if the Minimum Filesize you've set here has been met. Once that check fails, the server simply re-requests the entire object from the origin. So, verify the size of your delivery objects on your origin, and select the appropriate size to ensure that LFO is is used properly.

  • Use LFO for on-demand media files, but not for live. Typically, on-demand format video files should use partial object caching because they tend to be larger, composite files. Live video tends to be distributed as smaller, individual segments, so it doesn't require partial object caching. This may not apply to all environments, so you should verify your media file size requirements.