Configure the Accelerate delivery rule
Use sub-rules here to improve the delivery performance to your users.
Set up Origin Connectivity
Recommended
Behaviors in this sub-rule are used to optimize the connection between the Akamai edge and your origin server. It's preset with what Akamai considers best practices settings. We recommend that you leave it in your ruleset.
DNS Asynchronous Refresh
An origin DNS record is an "A record" that's used to associate a hostname with an IP address. When an end user makes a request to the hostname for your origin, the DNS record is used to resolve it to the appropriate IP address for the origin. Use this behavior to determine how Akamai edge servers should handle requests for a DNS record that has expired.
- Enable: On. Edge servers will use an expired origin DNS record when forwarding a request to your origin. Your origin’s DNS record will be refreshed after serving the end user’s request so that the end user doesn't have to wait for the DNS resolution. The Timeout represents the amount of time an expired DNS should be recognized as valid after the first request from an end user has been forwarded to your origin. This is in place to address subsequent requests for an expired DNS record.
The Timeout is set to 1 hour as a best practice for Ion. If you set the Enable slider to Off and then back to On, it resets this to the behavior's default of 2 hours.
- Enable: Off A DNS record won't be reused after it expires. For example, if you take down an origin server immediately after the DNS record associated with it expires, this behavior tells the Akamai edge server to forward requests made to this origin server. So, a request to the expired DNS would result in a denial of service to the end user.
To configure additional timeout settings, consider adding the optional Read Timeout and Connect Timeout behaviors.
Set up Protocol optimizations
Recommended
Use the behaviors in this sub-rule to serve your website or app using modern, fast protocols.
Enhanced Akamai protocol
This is a set of advanced routing and transport optimizations that increase the performance and reliability of your site or app. You don't need to do anything with this behavior. Its benefits are applied with it simply existing in your Ion property.
This behavior isn't unique to Ion. See the behavior's topic in the Property Manager documentation for more details.
You can significantly reduce your Ion property's performance if you remove this behavior.
HTTP/3
HTTP/3 helps reduce latency and resource consumption when loading web properties. It retains the HTTP/1.1 and HTTP/2 concepts, but it moves away from the traditional transmission control protocol (TCP) transport layer. Instead, it uses the IETF QUIC protocol that handles streams by itself. This supports improved performance and a faster connection setup.
It's included and enabled as the recommended HTTP method in a new Ion property. There are no other settings you need to apply. However, you do need to use transport layer security (TLS) to handle requests from a client to the Akamai edge.
For complete details on HTTP/3, see its topic in the Property Manager user documentation.
HTTP/2
HTTP/2 is a legacy way to reduce latency and resource consumption. It lets you request and download multiple objects concurrently over a single TCP connection. HTTP/2 also provides object prioritization, and uses HTTP header compression to conserve bandwidth.
It's automatically enabled in the background in a new Ion property. (You can't disable it.) For more details on it, see its topic in the Property Manager documentation.
Chunked Transfer Encoding
This is a type of encoding that can improve performance when a client request includes a large amount of content. It breaks the content into chunks and sends them separately so that the longer download time of that one request doesn't continuously occupy a connection. Smaller requests are free to use the connection between chunks.
For best performance, leave this set to Allow. You also need to enable chunked transfer encoding on your origin server to support it.
See Chunked Transfer Encoding for more details.
Chunked Transfer Encoding and HTTP/2 and HTTP/3
These behaviors can be co-dependent. HTTP/2 and 3 can use chunked transfer encoding to aid in transfer. And, if you have HTTP/2 or 3 enabled in your property, but Chunked Transfer Encoding is set to Deny, a request from a client for chunked content will be met with a DoS.
SureRoute
SureRoute tests multiple routes between the Akamai edge server and your origin server to identify an optimal path for performance. It also establishes alternative routes to deal with potential request failures.
It's supported for use with several delivery products, and its setup isn't unique to Ion. Have a look at the Property Manager's SureRoute documentation for complete details.
Is all of your content cacheable?
SureRoute is best-suited for non-cacheable content such as no-store or bypass-cache objects. It's automatically disabled when Akamai edge servers recognize that your content is cacheable. This is because cacheable content is best-served from an edge server cache and not from a route to your origin. If you're sure that all of your content is cacheable, we recommend that you disable this feature.
SureRoute can't be used with Cloud Wrapper.
If you've added the Cloud Wrapper service to your Ion property, you need to disable Tiered Distribution.
Set up Prefetching
Recommended
These sub-rules tell edge servers to retrieve embedded resources before the browser requests them. This reduces the time to deliver that content.
Understand the structure of this sub-rule
This rule consists of various layers to apply Prefetching:
-
Prefetching objects. This is the top-level of the sub-rule. The Prefetch Objects behavior is set to On to identify parent HTML or container pages on your site or app that contain the various child objects that can be prefetched.
-
Bots. This is a child-rule to the Prefetching objects sub-rule. It's in place to ensure that bot, crawl, and spider user agents are ignored when identifying the parent HTML or container pages.
-
Prefetchable objects. This sub-rule specifies the child objects that should be prefetched. This rule's Criteria is preset with the extensions for common file types used with HTML or container pages. For best performance, we recommend that you keep all of these extensions. However, you can include more extensions for file types used by your site or app.
So, as a request comes in for your site or app, this rule is applied as follows:
-
The Prefetching objects rule tells edge servers to identify the parent HTML or container pages that make up your site or app.
-
The Bots child rule checks for user agents including bot, crawl, and spider to ensure they're ignored when identifying these parents.
-
The Prefetchable objects rule is reviewed and your HTML or container pages are checked for child objects. All child objects that meet the named File Extension types are prefetched to edge servers.
Additional considerations
Consider these points if you want to include Prefetching:
-
Prefetching can be applied to either cacheable or un-cacheable content. When used for cacheable content, and the object to be prefetched is already in cache, the object is moved from disk into memory so that it is ready to be served. When used for uncacheable content, Prefetching uniquely associates prefetched objects with the browser request that triggered the prefetch. This is in place so the objects aren't served to a different end user.
-
Use Tiered Distribution. We recommend that you use the Tiered Distribution feature along with Prefetched content to avoid bursts of requests at your origin.
Set up Adaptive Acceleration
Optional
With Adaptive Acceleration, you can accelerate web and mobile experiences automatically, using Akamai's learning engine that's powered by real user data. Adaptive Acceleration provides site acceleration and can incrementally improve the "start render" rendering process by up to 5%.
This has various prerequisites you need to meet and various caveats on its use. To help with its setup, we've put together a tutorial that walks you through the entire process.
Updated 3 months ago