Most SharePoint Farms will have a solution for the long loading time after an Application Pool recycle or iisreset running. There are many different ways to preload websites, so your users have faster load times. So why another solution?
There are some questions, that I think have not been dealt with before:
- Most solutions require some sort of Timer to be started (e.g. a Scheduled Task)
- When should the warmup occur?
- What about multiple WebFrontend Servers?
- How about Claims support?
- Which URLs have to be called? What about extended WebApplications?
- New WebApplications require the warmup tool to be adjusted
- Manuell warmup after Deployments
- What about search?
- Did the Farm warmup correctly?
Years ago I developed a console application, which warms up SharePoint by calling each Site within a SiteCollection. It has bee updated multiple times with new features.
Basis of the new solution still is the “old” application. It has been integrated into the SharePoint Central Administration and the SharePoint Timer job. That way it can be configured through an Application Page and is executed by the SharePoint Timer on each WebFrontend Server. The Solution has been tested with SharePoint 2010 and 2013.
A Custom Action displays a new link within the “Monitoring” Section of the Central Administration.
All WebApplications are listed, and can be configured separately. The time the Application Pools recycles is read from IIS and will be set as default time (+ 1 minute). That way you can assure fast pages even shortly after the daily recycle.
A manual warmup can be started through the Timerjob page, or by downloading and executing a batch file (has be be executed on each farm server).
If you select to write to the EventLog, each execution of a job will write a summary to the Application Log. If all Websites could be loaded without a problem, the Event ID will be 0. Otherwise 1.
The tool supports Claims WebApplications with Windows Authentication.
The download package contains two WSPs. One for a SharePoint 2010 farm, and the other for 2013.
Update November 11, 2014
- Please restart the SharePoint Timer service on all farmservers after intalling the solution