I'm currently looking into using Umbraco as the basis for a system that may come to serve as many as 100,000+ individual pages. Does anyone have any experience with large scale Umbraco deployments? Is there any reason that Umbraco would not be able to service a large number of pages (100,000+) given its design or implementation? Any advice or general suggestions? Is there a better solution for this type of application? Finally, has there been any work on making an Umbraco deployment "highly available"?
The chaps (Condenast and Xeed) that build Wired.co.uk/wired.it done a great presentation at CodeGarden09 on performance and scalability. They also work with Vogue. I'm unsure on the raw number of pages they had in these implementations, they had a lot of media provided via a CDN.
I've not have built sites in Umbraco running to 100,000 only the 1000+ size.
You could use the Umbraco API to automatically create a number of pages that simulate the content level you will require. Then run some tests on this. Umbraco can be distributed across multiple servers to aid load balancing.
It's merely a question of whether your hardware configuration will be able to handle such a load. I've seen tweets of Kenny (http://twitter.com/kenneths/status/3712351220) -> some amazing results, so I'd not worry about umbraco but rather make sure there's enough memory available to handle the load.
If you have few updates - I think a combination of CDN for media items and the default Umbraco XML cache will go a very long way. The XML cache sits in memory (the xml file and sql tables are both "backups" for recreating this in-memory XML cache quickly), and it's unlilkely you will max out your servers memory that way (you would need a huge content file, if you look at the cached umbraco.config XML (search your published Umbraco site) you will see the format.
The main performance issue we've seen with Umbraco is publishing, and the subsequent refresh of the XML cache. So what we have found is that sites where either 1) content is frequently added/updated or 2) content is generated by users - seem to have serious performance issue with high memory usage (even on load balanced servers) and app pool recycles etc.
If you need this kind of read/write activity, you best choise is to use Umbraco to build your site framework, and then use something like RavenDB, MongoDB, Redis or another fast data store for your "volatile" content.
Umbraco scalability
I'm currently looking into using Umbraco as the basis for a system that may come to serve as many as 100,000+ individual pages. Does anyone have any experience with large scale Umbraco deployments? Is there any reason that Umbraco would not be able to service a large number of pages (100,000+) given its design or implementation? Any advice or general suggestions? Is there a better solution for this type of application? Finally, has there been any work on making an Umbraco deployment "highly available"?
Thanks very much for your help!
Hi,
There are a couple of interesting case studies... http://umbraco.org/tour/sites-running-umbraco
The chaps (Condenast and Xeed) that build Wired.co.uk/wired.it done a great presentation at CodeGarden09 on performance and scalability. They also work with Vogue. I'm unsure on the raw number of pages they had in these implementations, they had a lot of media provided via a CDN.
I've not have built sites in Umbraco running to 100,000 only the 1000+ size.
You could use the Umbraco API to automatically create a number of pages that simulate the content level you will require. Then run some tests on this. Umbraco can be distributed across multiple servers to aid load balancing.
Chris
It's merely a question of whether your hardware configuration will be able to handle such a load. I've seen tweets of Kenny (http://twitter.com/kenneths/status/3712351220) -> some amazing results, so I'd not worry about umbraco but rather make sure there's enough memory available to handle the load.
Cheers,
/Dirk
If you have few updates - I think a combination of CDN for media items and the default Umbraco XML cache will go a very long way. The XML cache sits in memory (the xml file and sql tables are both "backups" for recreating this in-memory XML cache quickly), and it's unlilkely you will max out your servers memory that way (you would need a huge content file, if you look at the cached umbraco.config XML (search your published Umbraco site) you will see the format.
The main performance issue we've seen with Umbraco is publishing, and the subsequent refresh of the XML cache.
So what we have found is that sites where either 1) content is frequently added/updated or 2) content is generated by users - seem to have serious performance issue with high memory usage (even on load balanced servers) and app pool recycles etc.
If you need this kind of read/write activity, you best choise is to use Umbraco to build your site framework, and then use something like RavenDB, MongoDB, Redis or another fast data store for your "volatile" content.
is working on a reply...