Applies to versions: Latest
Other versions:

Warming up sites

Recommended reading 

This topic explains how to perform a warmup of your DXP site when it scales up or out and before new code is deployed to production. 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. 

Default behavior

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

How it works

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:0:0:180",
      "StartupWaitingInterval"    : "0:0:0:0.1",
      "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;     
Do you find this information helpful? Please log in to provide feedback.

Last updated: Sep 28, 2021

Recommended reading