The main reason why Sitefinity takes a long time to start is because too many modules need to be loaded and/or too many pages need to be preloaded. Here are ways to cut the time to startup time:
- Go to Administration > Modules & Services, and disable any module which is not needed
- Ensure that Sitefinity has a large enough App Pool so that it is not reset due to a memory limit being exceeded which will clear the cache and will slow the front-end as well as the back-end
- Enable the Wait for page OutputCache to fill option under Administration > Settings > Advanced > Output Cache Settings > Output Cache Profiles > (the caching profile selected for the page).
- This option offers a performance benefit when the server is under heavy load at startup time, as it prevents a page from being recompiled multiple times when it is being accessed by multiple users at the same time
- This is a feature introduced in Sitefinity 7.3. Please refer to the following blog post for more details about this feature.
- Note that a Sitefinity restart is required for the changes to take effect
- Upgrade to Sitefinity 10.1 or later, as this version greatly improves the startup performance, cutting the startup time in half in many cases. More information can be found on https://www.sitefinity.com/blogs/vladimir-vasilev-blog/2017/07/13/sitefinity-cuts-web-site-startup-time-in-half
- If using the Warmup module, cut down the number of pages that need to be preloaded
How to troubleshoot why it takes a long time to load
To get a more precise idea of where is the time spent during startup, enable the methodPerformanceLoggingPath option (refer to Sitefinity documentation, Sitefinity CMS startup process https://www.progress.com/documentation/sitefinity-cms/sitefinity-cms-startup-process
- Open the project's web.config file
- In the <appSettings> section, uncomment (or add) the following:
<add key="sf:methodPerformanceLoggingPath" value="~/App_Data/Sitefinity/Logs" />
A few data-*.log files will be generated in the ~/App_Data/Sitefinity/Logs/ folder.
Those logs will carry information for the time it took the site to startup, all the actions that were executed in the site as part of the startup process.