You can improve HTML page load performance by adding Adaptive Acceleration to preposition your content. It gathers information from navigation and resource timing data via ​Akamai​ real user monitoring tools. It uses this information to identify key assets to reduce the load and render time for your web pages.

This tutorial covers adding Adaptive Acceleration to your Ion property. It also shows how to view and reset the property report data it uses.

📘

Make sure you've completed everything in Before you begin.

1. Create your Ion property

You'll use PAPI to create a new Ion property. Review the sections that follow to get going with the process.

Ion's productIds

When you're setting up a new Ion property with PAPI, you'll need to get the productId value for the version of Ion you're using. PAPI uses the codename values that ​Akamai​ established for the various versions during development:

  • Ion Premier. "SPM"
  • Ion Standard. "FRESCA"

For example, if you run the list products operation in PAPI, the response data for each version of Ion would look like this:

{
    "accountId": "abc_A-1-BCDEF",
    "contractId": "ctr_1-GHIJK",
    "products": {
        "items": [
            {
                "productName": "SPM",
                "productId": "prd_SPM"
            }
        ]
    }
}
{
    "accountId": "abc_A-1-BCDEF",
    "contractId": "ctr_1-GHIJK",
    "products": {
        "items": [
            {
                "productName": "Fresca",
                "productId": "prd_FRESCA"
            }
        ]
    }
}

Set it up for HTTPS

HTTPS is the standard for protecting traffic on the web. You'll apply it to protect the connection between a client requesting your content and the ​Akamai​ edge network. Follow this tutorial to create a property using a custom certificate to secure the connection:

  1. Complete phases 1 - 9 in the tutorial.

  2. Store these values:

    • propertyVersion. This should be 1 because you're creating a new Ion property with this tutorial.
    • propertyId. The unique identifier that ​Akamai​ assigns to your new property.
  3. Return here and continue to the next phase.

2. Review the rule tree

Access your Ion property's rule tree for review. Use the propertyVersion and propertyId values you stored for your Ion property.

Get a property tree
Open Recipe

These behaviors apply specifically to Adaptive Acceleration. Review their settings.

http3

This behavior just needs to remain in the rule tree. Notice its "enable": "true" member. Set this way, the default value of enabled is used.

{
    "name": "http3",
    "options": {
        "enable": true
    }
},

📘

HTTP/2 is still supported

This older protocol is still supported and automatically included in your rule tree. Leave it in to ensure full support.

mPulse RUM

The default settings for mPulse simply enable it for use as the real user monitoring (RUM) source beacon for your Ion property. This is what ​Akamai​ recommends as your source beacon because it supports all Adaptive Acceleration features.

{
    "name": "mPulse RUM",
    "children": [],
    "behaviors": [
        {
            "name": "mPulse",
            "options": {
                "apiKey": "",
                "bufferSize": "",
                "configOverride": "",
                "enabled": true,
                "loaderVersion": "V12",
                "requirePci": false,
                "titleOptional": ""
            }
        }
    ],
    "criteria": [],
    "criteriaMustSatisfy": "all",
    "comments": "Collect..."
},

adaptiveAcceleration

The automatic push ("enablePush"), automatic preconnect ("enablePreconnect"), and automatic font preload ("preloadEnable") features are automatically enabled, and mPulse is preset as the real user monitoring "beacon source" ("source": "mPulse",). These are the minimum recommended settings for Adaptive Acceleration.

{
    "name": "Adaptive acceleration",
    "children": [],
    "behaviors": [
        {
            "name": "adaptiveAcceleration",
            "options": {
                "enablePreconnect": true,
                "enablePush": true,
                "enableRo": false,
                "preloadEnable": true,
                "source": "mPulse",
                "titleHttp2ServerPush": "",
                "titlePreconnect": "",
                "titlePreload": "",
                "titleRo": "",
                "compression": "",
                "abTesting": "",
                "abLogic": "DISABLED"
            }
        }
    ],
    "criteria": [],
    "criteriaMustSatisfy": "all",
    "comments": "Automatically..."
}

3. Store the response output

If you want to edit your rule tree, you'll use this as the body parameter.

4. Edit your rule tree (optional)

You can change the default settings or add optional settings for some of the Adaptive Acceleration-related behaviors. Use the response output you stored from the GET the rule tree operation to serve as the body parameters for the operation:

👍

We offer plugins to help with a rule tree

Rule trees are maintained in a special form of JSON. We offer two tools you can use to help navigate and edit your rule tree. Check out the VS code or Eclipse IDE plugins.

  • adaptiveAcceleration. You can update this behavior to optionally add compression for your assets and apply other settings. Also see abLogic, below.

  • mPulse. There are several other options you can apply for this behavior. At a minimum, you need to ensure that "enabled": true, is set.

  • abLogic. By including this parameter in the adaptiveAcceleration behavior, as well as other settings in your rule tree, you can enable A/B testing with Adaptive Acceleration. Check out Add A/B testing to A2 for full details on how to PATCH your rule tree for this support.

Patch a rule tree
Open Recipe

5. Finish your property

With Adaptive Acceleration set up the way you want, you're ready to finish onboarding your property and start delivering your content:

  • The custom certificate method. Return to this tutorial and complete steps 12 - 17.

  • The secure by default method. Return to this tutorial and complete steps 13 - 17.

6. Wait for data gathering

With your property live and mPulse enabled as your beacon data source, give it some time to gather data. Data for the Automatic Push, Automatic Preconnect, and Automatic Font Preload settings are gathered and stored in a "property report." This report is used to determine "high usage" assets for your site or app, for use with Adaptive Acceleration.

7. Manage report data

Now, you can use Adaptive Acceleration's APIs to manage the reports that contain Adaptive Acceleration's Automatic Push, Automatic Preconnect, and Automatic Font Preload data.