I am currently doing a little research for the company I am working at. We have started using Umbraco earlier this year for testing purposes and everything seems really nice. Currently however, we are approaching the point where we need to determine how to set up everything to allow for a speedy deploying of sites.
In an ideal world, we would make a single Umbraco installation and host all our sites in that installation. Sadly however, we do not live in an ideal world. So I am tasked with finding out if it is at all possible.
I already know Umbraco does indeed allow multiple sites in a single install, but how will this affect performance? How many (decently sized) sites could one run on a single install before performance becomes an issue?
It does make things more complex, all macro's have to be written to work "from source", allowing you to specify where to start their queries on...
Keeping your datatypes and masterpages clean is do-able, because there you can work with "folders" and structure, but for macro's, dictionary items, javascript files and XSLT you cannot, in the end you'll have to think of some pretty good namings to keep this transparent.
If one goes down, all go down... if you ever need to deploy new stuff to one of the sites in the installation, one small error could take all the sites down...
Also there are things that you can't configure on a site-basis but only
on Umbraco installation-basis (everything you do in the /config folder applies to all
sites), user management doesn't get any easier...
Personnally I don't put multiple websites into one umbraco environment unless there is a very big and direct benefit (they need to query eachothers data, share users, one is a subdomain of another, ...) if there is no such benefit I see this as a hassle.
what benefits do you expect from running a lot of websites inside a single installation?
Mostly the fact that all our code will be in a single spot. Making maintenance and upgrading a lot faster as we only need to do it at a single place instead of dozens.
The fact that one thing can drag down every site in your install is quite scary though, and something we hadn't considderd yet. Anyway, that is exactly the reason I am posting here for answers. The concept seems great, but this single point makes it too much of a risk I think. Thanks for pointing it out Rik!
We currently have 350+ sites running on one installation of umbraco. We had some performance issues with 4.0.3 of umbraco. Once I upgraded things to the 4.7 codebase, all the issues we had went away. Great work by the team to fix those issues. The only caveate is when/if there is an issue all sites go down, but I've not encountered any issues with that since upgrading to 4.7. Having one codebase for all is why we went down this road. Updating 100's of installation's was not an option. We have umbraco installed on one server and the database on another to lessen the load.
One of my client runs 50+ sites from one installation. Loads of dynamic pages. No problems. Umbraco doesnt really care if it's 1 or 100 sites .. it's the total number of content items and visits that determind if you need more power or scaling.
In other words: 1 site with 10000 nodes / pages each = 100 sites with 100 pages each. Same same. (at least that's what I think - pls. correct me if wrong)
I will be starting a new thread shortly... Architecture definitely gets tricky after a while.
Trying to keep it short...
In one instance with many sites you lose the ability to run sites under different application pools and take advantage of multi-processor capabilities.
Yes, if your site instance goes down, all sites go down. This is definitely more of an IIS thing though.
I always test in a Staging server and know of any issues before publishing to production.
I would say one negative is that when publishing a change to one site, you have to publish all at the same time.
That's about it... the benefits and savings in maintenance time far outweigh the few possible errors. This same scenario can happen with a hosting server as well, so it's not like it's a new thing.
Multi site environment performance
I am currently doing a little research for the company I am working at. We have started using Umbraco earlier this year for testing purposes and everything seems really nice. Currently however, we are approaching the point where we need to determine how to set up everything to allow for a speedy deploying of sites.
In an ideal world, we would make a single Umbraco installation and host all our sites in that installation. Sadly however, we do not live in an ideal world. So I am tasked with finding out if it is at all possible.
I already know Umbraco does indeed allow multiple sites in a single install, but how will this affect performance? How many (decently sized) sites could one run on a single install before performance becomes an issue?
Are there any other issues one should be aware off? (I saw the post by Rick here: http://our.umbraco.org/forum/ourumb-dev-forum/features/8796-Is-there-a-multi-site-version-of-Umbraco-similar-to-Joomla-Multi-site so I know several)
Thanks in advance.
-Ferdy
Is there no one that can give an answer here? :(
-Ferdy
Still would like an answer :(
It does make things more complex, all macro's have to be written to work "from source", allowing you to specify where to start their queries on...
Keeping your datatypes and masterpages clean is do-able, because there you can work with "folders" and structure, but for macro's, dictionary items, javascript files and XSLT you cannot, in the end you'll have to think of some pretty good namings to keep this transparent.
If one goes down, all go down... if you ever need to deploy new stuff to one of the sites in the installation, one small error could take all the sites down...
Also there are things that you can't configure on a site-basis but only on Umbraco installation-basis (everything you do in the /config folder applies to all sites), user management doesn't get any easier...
Personnally I don't put multiple websites into one umbraco environment unless there is a very big and direct benefit (they need to query eachothers data, share users, one is a subdomain of another, ...) if there is no such benefit I see this as a hassle.
what benefits do you expect from running a lot of websites inside a single installation?
Mostly the fact that all our code will be in a single spot. Making maintenance and upgrading a lot faster as we only need to do it at a single place instead of dozens.
The fact that one thing can drag down every site in your install is quite scary though, and something we hadn't considderd yet. Anyway, that is exactly the reason I am posting here for answers. The concept seems great, but this single point makes it too much of a risk I think. Thanks for pointing it out Rik!
-Ferdy
A good workflow and staging environment should help you prevent downtime due to deployments though...
We currently have 350+ sites running on one installation of umbraco. We had some performance issues with 4.0.3 of umbraco. Once I upgraded things to the 4.7 codebase, all the issues we had went away. Great work by the team to fix those issues. The only caveate is when/if there is an issue all sites go down, but I've not encountered any issues with that since upgrading to 4.7. Having one codebase for all is why we went down this road. Updating 100's of installation's was not an option. We have umbraco installed on one server and the database on another to lessen the load.
Any other questions?
One of my client runs 50+ sites from one installation. Loads of dynamic pages. No problems. Umbraco doesnt really care if it's 1 or 100 sites .. it's the total number of content items and visits that determind if you need more power or scaling.
In other words: 1 site with 10000 nodes / pages each = 100 sites with 100 pages each. Same same.
(at least that's what I think - pls. correct me if wrong)
Best
Jesper Ordrup
I will be starting a new thread shortly... Architecture definitely gets tricky after a while.
Trying to keep it short...
In one instance with many sites you lose the ability to run sites under different application pools and take advantage of multi-processor capabilities.
Yes, if your site instance goes down, all sites go down. This is definitely more of an IIS thing though.
I always test in a Staging server and know of any issues before publishing to production.
I would say one negative is that when publishing a change to one site, you have to publish all at the same time.
That's about it... the benefits and savings in maintenance time far outweigh the few possible errors. This same scenario can happen with a hosting server as well, so it's not like it's a new thing.
is working on a reply...