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
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:
-
Complete phases 1 - 9 in the tutorial.
-
Store these values:
propertyVersion
. This should be1
because you're creating a new Ion property with this tutorial.propertyId
. The unique identifier that Akamai assigns to your new property.
-
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.
These behaviors apply specifically to Adaptive Acceleration. Review their settings.
http3
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
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
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 seeabLogic
, 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 theadaptiveAcceleration
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.
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.