Original Issue: Web application is a bit unstable, restarting IIS seems to resolve issues for a few days.
Solution to original issue: Powershell script to restart application components including IIS in early hours of morning.
... A few weeks go by ...Users happy that application is significantly more stable during the day, however a small group of users complain about the performance of the application. Why is the performance suddenly dropping for those users?
First look at users issues: These users are always the first in the office, some appear not to sleep and decide to go to work at very early hours.
Root Cause: Now that we are restarting IIS, ASP.NET is recompiling the dynamic code when it is accessed for the first time, thus causing performance issues for first user hitting each part of the web site.
Solution 1: Use the Microsoft Web Application Warm up tool
Problem with Solution 1: Microsoft pulled the tool from their site
Solution 2: Write a script to handle this issue!
Writing a script for this solution was pretty easy: