Some of our web servers host quite a few sites. In day-to-day events this has not much effect, as all pages are delivered reasonably fast and the server's resources are well-dimensioned.
However, when the host machine needs to restart (for example for system updates), warming up all sites can take considerable amounts of time – sometimes over an hour before all warmup is completed. Presumably, because over ten sites try to grab CPU time for compilation and loading.
Searching around the web, suggestions for faster warmup revolve around the idea of a server hosting only few sites, but what is a good approach for servers with many of them?
We considered trying to stage warmup, so that no more sites get processed at a given time than the CPU has room for – means that the last site probably is not ready a lot sooner, but the first sites will be there quickly. Already a lot better than the all-or-nothing-like free for all.
Does IIS provide staged warmimg-up on IIS startup?