Orchard Hungary is an archive

This site is now an archive. We'll keep it so the content is accessible, but we won't update it anymore. However, we frequently publish Orchard-related news on our other site Orchard Dojo, so be sure to check that out instead. And if you're interested in news about our Orchard development company, Lombiq, check out our website.

Tested Orchard on Azure Virtual Machines - and it rocks!

Tags: Azure, Azure Virtual Machines, Orchard, performance, Azure Web Sites

I recently played a bit with the new Azure Virtual Machines and Orchard 1.6. With Benedek we migrated Orchard HUN to an Azure VM (extra small instance) using SQL Azure to try it out and... ...and it's blazingly fast. Seriously. Orchard flies, even with every caching disabled. So very impressing!

As a mad test I also deployed six additional Orchard instances to the same server. All the instances contained the same: my dev instance with almost all of my modules and all built-in ones from the source, with SQL CE. Having almost all modules enabled the server was event able to cope with all the seven (!!!) instances all in their own AppPool at the same time with acceptable speed (whole page loads still way below 1s when done simultaneously). We're still speaking about the extra small VM here: 1 shared core (a 2,1Ghz AMD Opteron) and 768MB of RAM! You can get that for $9,36 a month, together with a 100MB DB for plus $5!

With all the instances running clearly CPU was the bottleneck (cold starting all of them after deploy at the same time caused a multiple minute wait), but this effect can be compensated with output caching to a degree. And it didn't run out of RAM! It's pure magic, because this is what happened: the VM supposedly has 768MB of memory and after installing IIS it already uses more than 600MB. Running an Orchard instance costs about 150MB but even with seven running memory consumption was steady on about 97%. Looking at the task manager there was a nice surprise: the instance of Orchard HUN consumed the awaited 150MB, one of the other instances about 60 (This would alone be more than the free RAM on startup... You can't explain that! :-)) and the others all below 20 megs, sometimes even 6MB (!!!). What the heck? Where's the black magic? Did .NET figured out that we have multiple instances of the same assemblies and only loaded them into the memory once?

I also have to say that I tried Web Sites as well: there the free and Shared instances are unusable (10-30s page load times and after 10 page views your CPU time is used up and you have to wait a few minutes to reach the next reset what comes each five minutes). Reserved instances are painfully slow (also 10s page loads)... All tested with a simple Orchard installation with SQL CE. This is surprising especially that I've seen Orchard sites running on a Reserved instance quite well.

No Comments