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.

Connect Timeout

This specifies the total amount of time a request for your origin should wait to connect before failing and returning an error. Supported values are from 1 to 599 seconds, but this is default set to 5 seconds for your Ion property.

Read Timeout

This specifies how long an edge server should wait for a response from your origin server after a connection has already been established. If the amount of time set here elapses without a response, a 504 Gateway Timeout error is sent to the edge server. Supported values are from 1 to 599 seconds, but this is default set to 120 seconds for your Ion property.


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.

🚧

Removing this behavior may significantly reduce performance. Leave it in your property for best results.

HTTP/2

HTTP/2 helps reduce latency and resource consumption when loading web properties. It supports the download of multiple objects, concurrently over a single TCP connection. HTTP/2 also provides object prioritization and uses HTTP header compression to conserve bandwidth. This behavior is recommended to help optimize the delivery of your site or app and you should leave it in your Ion property.

You don't need to do anything with this behavior. However, you do need to use transport layer security (TLS). So, you'll need to set up a secure (HTTPS) property hostname to handle requests from end users to the ​Akamai​ edge.

For more details on HTTP/2, see its topic in the Property Manager user 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

These two behaviors can be co-dependent. HTTP/2 can make use of chunked transfer encoding to aid in transfer. And, if you have HTTP/2 in your property, but Chunked Transfer Encoding is set to Deny, a request from an end user for chunked content will be met with a DoS. So, you should have one of these behaviors in your Ion property without the other.

SureRoute

SureRoute tests multiple routes between the ​Akamai​ edge server and your origin to identify an optimal path for performance and establishes alternative routes to deal with potential request failures.

📘

Is all of your content cacheable?

This is best-suited for non-cacheable content such as no-store or bypass-cache objects. It's automatically turned off when content is recognized as 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.

Set it up for Performance

This is the default method that uses predefined best practices. The edge server determines the best route to your origin at any given time by performing "races." A race forwards a request through three available routes, simultaneously and observes which route performed best in serving the request. The information is used to choose the primary route for future requests. That route remains as the primary route until the next race is conducted. These races allow SureRoute to react to changes in the Internet quickly. You can configure the frequency of the races as appropriate for your Ion property.

  1. Set options here as follows:

    • Optimization Type. Ensure this is set to Performance.

    • SureRoute Test Object. This is the path on your origin where you'll host the test object that SureRoute races to, to determine the best route. For the simplest implementation, leave this set to /akamai/sureroute-test-object.html.

    • Forward HOST Header. This lets you specify the Forward HOST header to use with SureRoute:

      • Same as incoming HOST header. Select this if you just want to use the standard Forward Host Header you've set for your Origin Server.

      • Custom. You can set up a unique forward HOST header on your origin that will be used along with SureRoute. Your Ion property will look for the header on your actual origin server and forward it with requests. You might want to use this to customize or track requests that you know are using SureRoute.

    • Cache Life for Race Results. This is the time to live (TTL) for race results. Once a best route is determined after the race, that route is used for this length of time.

    • Force SSL Protocol for Races. Add HTTPS secure transfer when races are performed to determine the best route. If your origin only supports HTTPS traffic, make sure this is set to On.

    • Race Result Key. This lets you select where you want to store race results:

      • Race destination (default). This stores the race data using the Origin Hostname set for your Origin Server.

      • Custom. Typically, this is used when a single property has multiple origin hostnames in a single data center. By default, a separate race would be run for each origin. Overriding the race results hostname folds those multiple hostnames into a single hostname and therefore only one race.

  2. With options set as desired, you need to install the SureRoute test object.

Set it up with a Custom map

You can set Optimization type to Custom map. Rather than using three available routes to determine which is best, a specific map of routes is used. This is reserved for special services that need to be implemented by ​​Akamai​​ Professional Services. If you have one of these special services on your contract and received a custom map from ​Akamai​, select Custom map and enter it into the field provided.

Set it up for failover

With SureRoute enabled, this is automatically enabled and applied in the background for your Ion property. If a delay is detected when waiting for a response from the origin, the edge server tries two alternative routes before waiting for the TTL you've set in Cache Life for Race Results. SureRoute for failover uses one second time-outs for this delay. If all routes fail, there's likely a problem at the origin rather than network congestion.

Install the SureRoute test object

To properly support SureRoute, you need to download a test object that ​Akamai​ has put together and install it on your origin server.

  1. Get the test object files:

  2. Copy the Zip file onto your origin server and place it into a directory using the path you set in the SureRoute Test Object field. (If you left this at the default, this is /akamai/sureroute-test-object.html.)

  3. Decompress the Zip file and ensure that pathing is maintained. The default set up for SureRoute looks for specific files in these directories.

Where SureRoute doesn't apply

If any of the following apply to your Ion property, disable SureRoute by setting Enable to Off:

  • You're using NetStorage as your origin. NetStorage only supports the delivery of cacheable content.

  • You're using Tiered Distribution. If you've included this behavior in your propertyspecifically in the same rule, or in a rule that would be applied to the same requestyou can't use SureRoute because it also only supports the delivery of cacheable content.


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:

  1. The Prefetching objects rule tells edge servers to identify the parent HTML or container pages that make up your site or app.

  2. The Bots child rule checks for user agents including bot, crawl, and spider to ensure they're ignored when identifying these parents.

  3. 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, powered by real user data. Adaptive Acceleration provides site acceleration and can incrementally improve the rendering process (Start Render) 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 workflow that walks you through the process. Check out Set up Adaptive Acceleration.


Did this page help you?