Warm up sites
Describes how to perform a warmup of your Optimizely Digital Experience (DXP) site when it scales up or out and before new code is deployed to production.
See information on scaling up an app.
Warmup is the process whereby a Web App gets requests, such as pre-populating in-memory cache before it starts to receive production traffic. This is needed to make new code deployments to production and scaling up/out as seamless as possible.
Optimizely's deployment automation engine attempts to configure a warmup section automatically during deployments by...
- Issuing a web request to the start page.
- Parsing the resulting HTML output to find all relative links on the site's start page.
This is done for each unique hostname that was bound to the site. This warmup package is autmomatically added as dependency from EPiServer.CloudPlatform.Cms which is a required package to run in DXP
To warmup the application, EPiServer.CloudPlatform.Cms.Warmup parses hompage links and follows them with request. There are limited number of options which you can configure on WarmupOptions.
"EPiServer" : {
"CMS" : {
"WarmupOptions" : {
"Disable" : "true",
"FollowLinkLevel" : 1,
"WaitingForStartupTimeout" : "0:3:0",
"StartupWaitingInterval" : "0:3:0",
"RequestTimeout" : "0:0:1:0",
"MaxNumberParallelRequests" : 50
}
}
}
public void ConfigureServices(IServiceCollection services)
{
services.Configure<WarmupOptions>(x =>
{
x.Disable = true;
x.FollowLinkLevel = 1;
x.WaitingForStartupTimeout = TimeSpan.FromSeconds(180);
x.StartupWaitingInterval = TimeSpan.FromMilliseconds(10);
x.RequestTimeout = TimeSpan.FromMinutes(1);
x.MaxNumberParallelRequests = 50;
});
}
Note
Sites behind a log-in may experience a 403/400 error on deployments during warmup because the status cannot be confirmed with a log-in redirect. See Web application warmup during DXC Service deployments for more information.
Updated about 2 months ago