Had my users complain about how painfully slow it is the first time they hit the portal every morning, and then things get back to normal. I had put it on the back-burner, but now that things are under control, I got some time to revisit this issue.

Every night, the App Pool recycles, and then pages are compiled from the generic MSIL to native code upon first use. This is known as just-in-time (JIT) compilation. If not performed beforehand, it can cause pages to load slower the first time they are requested.

This can be simulated by doing an iisreset on your server and benchmarking the time it takes to load a page… just for kicks

What I needed was a warmup script that would hit all critical webpages for me every night, after the recycle. Found this file WarmUpServer.zip that I customized to my use.

All credit goes to Joel Olson, and Andrew Connell