Some recommended changes to your IIS Hosting
We have recently made some changes to the "Rock Solid Internal Hosting" documentation, which are going to be useful for people coming fresh to Rock. But once you're already running Rock, we know that it's not very often you go back and review those documents. So we wanted to provide this post as a way of making everyone in the Rock community aware that there are a few settings we are recommending you take advantage of on your existing environments.
Add Roles to your IIS server
1) Start by opening "Server Manager" and click Manage and then Add Roles and Features. If the "Before you begin" screen comes up, click Next. Then choose "Role-based or feature-based installation", click next, and select your server from the server pool, then click Next.
2) On the "Select Server Roles" screen, expand Web Server (IIS) and then expand Application Development. A few items above where you originally installed ASP.NET 4.5 (or 4.6 on Server 2016 or 4.7 on Server 2019) is an option to install Application Initialization. Check that box
3) Click Next to go to the Select Features screen, then click Next again to get to the Confirm installation selections screen. Click Install.
Change AppPool settings
1) Now, open up IIS Manager on your server. Expand the item representing your server, then click on Application Pools. In the middle pane, click the Application Pool tied to your Rock site (usually DefaultAppPool unless you created a different site for Rock). Right-click and choose Advanced Settings.
2) Under the General heading, change Start Mode to "AlwaysRunning". Under the Process Model heading, change Idle Time-out (minutes) to "0". Then click OK.
3) Now, in the right pane (while your DefaultAppPool is still highlighted), click on "Recycling". Un-check Regular Time Intervals and instead provide a convenient time for Rock to restart each day (such as 4:00 AM) in the Specific Times option. Click Next and then click Finish.
That's it! These settings should help keep things a little more consistent and help your sites start up a little quicker.