Ochard 1.3.9 performance

Topics: General, Troubleshooting
Dec 1, 2011 at 2:12 PM

I am evaluating Orchard for use on a site that is launching soon. The traffic could potentially make it one of the larger Orchard sites within a year if we end up using this system, and I am hopeful that this will be possible. However, I am concerned about the performance of Orchard on my development machine. The main issue I'm having is that after a few minutes of idle time, the first access to any page takes about 20 seconds. I'm on a dual core machine and I see the w3p process spiking to ~50% during this load time (though it's not pegged at 50% solid during this time). 

What is happening during this time? Does it have to do with dynamic compilation? I have almost no content in the system other than the default and I haven't made any customizations or added any modules. It's running against a SS2008 Developer Edition on the same machine.  

I understand that there is a warmup feature that does some kind of caching, but there is very little documentation about how it works and why it is needed. I'm also interested in contributing back to the Orchard system itself, and performance optimization happens to be one of my strong points so I think this is a potential area I'd like to contribute to. I haven't tried the warmup yet (will do today), but I need to get an understanding of what is happening that's causing the slowdowns every few minutes so I can determine if it's worth it at this point for us to continue pursuing Orchard as our site's CMS. We are going to have a lot of dynamic content and thousands of pages (data driven right now, built in MVC3, but want to plug this in as an Orchard module so we can define them as content types, and then apply ratings and comments to them). There will also be user-personalized UI elements, so I'm not sure how well the warmup feature will work for this type of site.

I updated IIS settings to disable auto-recycling of the app pool, and I verified via Event Logs that there are no more recycles taking place. This hasn't helped with the problem though. 

 

My Setup: 

Orchard 1.3.9 (binary download) running locally on my Core2Duo laptop

Win7 Enterprise, Sql Server 2008 Developer Edition (which Orchard is using)

Updated web.config to use Full trust

Coordinator
Dec 1, 2011 at 7:16 PM

20 seconds is not right. You should profile.

Dec 1, 2011 at 7:43 PM

Problem resolved. It was my mistake. I changed the wrong setting in IIS. I disabled fixed interval app pool recycling for the app pool, but I didn't change the Process Model -> "Idle time-out (minutes)" setting from the default of 20min. Once I changed the value to 0 the issue was fixed. 

20s was just a guess, but it was definitely long, definitely more than 10sec.