问题
Using http://docs.orchardproject.net/Documentation/Deploying-Orchard-to-Windows-Azure I've successfully deployed Orchard into Azure.
After every 20mins or so without activity (app pool recycle?) it takes minutes to render a page. I'm running on an Extra Small instance in Azure. Webinstance, Storage and SQL Database are all in the same datacentre - SE Asia.
There is a module called keepalive, which does a regular ping.
or http://blog.smarx.com/posts/controlling-application-pool-idle-timeouts-in-windows-azure
Also turned off Debug(!) and put in full trust as described here http://docs.orchardproject.net/Documentation/Optimizing-Performance-of-Orchard-with-Shared-Hosting
Will experiment with settings / warmup pages..
The ping seems heavy handed - am I missing something?
回答1:
You're right about the app pool recycle - the default idle timeout is 20 minutes. If you set this to 0 (infinite), you won't see the pause after 20 minutes of inactivity.
Steve Marx blogged about how to do this. It involves a startup task calling an elevated command script that sets app pool timeout:
%windir%\system32\inetsrv\appcmd set config -section:applicationPools -applicationPoolDefaults.processModel.idleTimeout:00:00:00
回答2:
I'm afraid the extra small instance may not be a very good fit for Orchard, which can hardly be described as "extra small". The Orchard site for example runs on two normal web instances. It runs pretty fast, and as it's permanently hit by users, you very rarely see a cold start. If the problem is inactivity then your only possibility is indeed to artificially hit the site or to increase the app domain timeout. Still, even a cold start should not take more than a few seconds on a reasonably-sized server, so that it takes minutes should be enough of a sign to turn you away from extra small.
来源:https://stackoverflow.com/questions/9303194/orchard-performance-on-azure