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
Option | What it does |
---|---|
Enable | Set this slider to On to enable LFO. |
LFO Type | Set the implementation type:
|
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. The size of a file can't be greater than 323 GB. If you need to optimize a larger file, contact Akamai Professional Services for help. |
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:
|
Requirements and best practices
Before you add this behavior, consider the points below. End users may receive an error if any of these conditions is not met.
-
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.
-
Clients need to use the GET method to request content from your origin server. According to the RFC 2733 standard, only GET supports the Range header, which is required to use LFO.
-
LFO requires specific headers. Your origin needs to support Etag, Range, Content-Range, and Last-Modified headers and accept byte range requests.
-
An Entity Tag (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. The returned Etag can't be weak. You can optionally include the Validate Entity Tag (ETag) behavior in your rule to validate Etags.
-
Clients may send a Range HTTP header in their requests. Make sure the origin server responds with 206 status code to requests made with the Range header.
-
A Content-Range HTTP response header indicates where a partial message belongs in a full body message. Your origin server needs to include this header with a properly formatted instance-length in a response to a request.
-
A Last-Modified HTTP response header indicates when the resource was last updated. Your origin server needs to include this header in responses to a request.
-
Byte-range requests 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.
-
The requested files need to be cacheable. Configure the Caching behavior for all resources you want to deliver with LFO. You can't use LFO with files that have no-store or bypass options applied. Also, make sure the origin server doesn't send any headers that affect cacheability, such as a Vary header.
Updated 10 months ago