Warm up IIS applications in WebRole
By default the web application in a web role is not loaded until the first request is issued against the role. In large applications the loading time for the first page can be quite long which gives a very bad experience for users and search engines.
IIS provides some features to avoid this, but it complicated to use them in Azure:
I'd like to suggest the following:
Azure should support application warm up out of the box - when a role is restarted due to redeployment or maintainance, the warm up should be done automatically. The admin might specify a request URL that is called after the role started.
The default settings for application pool idle timeouts and recycling timeouts should be changed to infinity. web roles are typically not shared hosting environments where the idle timeouts make sense.
So what's the latest?
This would be a huge win. It is super annoying to have my Azure sites pause for 2 seconds on first load.
Can you combine this idea with https://feedback.azure.com/forums/169386-cloud-services-web-and-worker-role/suggestions/5863196-allow-easy-asp-net-precompilation-in-cloud-project
There is plenty of support from customers but almost 2 years on Microsoft can't be bothered.
Peter Taylor commented
This should also include warming up WCF services hosted in IIS.
Pre-compile views will do it, it's unacceptable that users need to stare at a white screen for 1-5 seconds before anything loads: http://feedback.azure.com/forums/169386-cloud-services-web-and-worker-role/suggestions/5863196-allow-easy-asp-net-precompilation-in-cloud-project
Michael CARBENAY commented
Adding a simple way to precompile asp.net website would be a great thing to add too : for quite large and complex apps, every page tends to take a few seconds to compile on first access.