Posted by NikLP on January 17, 2007 at 12:21am
Is there any general consensus on the limitations of a true multisite configuration?
I'm thinking about hosting quite a few sites on one shared host. The sites I want to run are mostly going to be low/medium usage which I would suspect would easily run on a single shared unit under normal circumstances. The plan is to use individual databases with a shared codebase running D5. I'm looking to find out what people think/know about the general limitations on numbers of sites, and numbers of modules in this setup.
- Is there a critical mass for memory, performance or some such?
- Is theran optimum way to run backups to ensure minimum risk?
- How should cron best be configured to ease server load?
- Comments on the above suggested setup?
This is all pretty new to me, so I'm just throwing this out there...

Comments
good question
NikLP - That's a really good question - I've never seen ANY info about any limits to the number of sites you can setup with the multisite features. However, it sounds to me like you've got the perfect situation on your end: low to medium use sites where a common codebase allows you to better manage the backends for all the sites. Individual DBs with shared codebase is the way to go!
Are you setting up your own server to do this or using a hosting co. out there someplace? You shouldn't find any problems with the number of modules installed - I've never heard of anyone having issues with that.
Throwing it back at you...
Ok
Well, that's interesting, I thought I had seen some posts around that made reference to issues with memory relating to large numbers of installed modules. Maybe I was dreaming.
I am mostly asking for the sake of curiousity at the moment, but I have some ideas about how this could be used to really help my business. Obviously using a single codebase is very helpful from the point of view of maintenance of large numbers of sites.
I have no plans to buy a server, I'm not qualified enough to run all that as well. I guess maybe I could buy a virtual machine if that was properly managed for me, but this is potentially an expensive option when I am only thinking in the "experimental zone" at the moment.
Web Development in Nottingham, UK by Kineta Systems / Follow me on Twitter! @NikLP
VDS
I am sure you can get multisite running on a standard hosting environment, with ALOT of time.
I'd definately recommend a minimum of a VDS - Virtual Dedicated Server account if you are serious about hosting multiple production Drupal sites off the same account. These are not that expensive these days.
Your original question seemed to imply production sites, so thats was how I answered it. If you want experimental, load it on your home computer !
As for your comments about memory size - too much of a generalization. You need to evaluate which modules you will need and then look at the behaviour of each individually.....
Tutorial / SOP / Guide
Hello-
I'm leasing a LAMP server with softlayer.com and having platinumservermanagement.com handle the 24/7 support. This is my first experience with my own dedicated machine - it's great! Little more work, but way worth the expense if you can afford it.
I'm very, very interested in running multiple (100s) of websites off a single code base (for obvious reasons) with multiple databases (dedicated databases for each site). I use 50+ contributed modules, but could cut the fat to accommodate the multi-site limitations/module incompatibility.
Could you please advise on the best information avaiable to get started: in the way of tutorials, SOPs, etc.
Thank you, thank you in advance for stearing me in the right direction....
All the best,
========
Doug Ouverson
========
Doug
I wish !
I wish there was a tutorial !
If you have a dedicated server, you've taken the first right step in my opinion. I find it difficult to discuss performance on a shared hosting service or even VPS - given my first recommendation.
My first recommendation is to tune LAMP itself....
- Pull all the unused modules out of Apache
- Pull all the unused services from startup. POP, IMAP, NFS, etc... This also helps secure the system
- Use PHP 4 instead of 5
- Pull extra modules out of PHP
- Get a PHP code accelerator, I recommend eaccelerator.net
- Then start talking about Drupal
Your raise a good question regarding multi-site and databases.... I have multiple hundreds of sites in my multi-site now. They are all running off a single database using the $db_prefix to discern tables. Is there a performance difference between that and having a seperate DB for each site ?
Good question...
...to which I don't know the answer, but I'm curious as to why you'd want to use only one database. How the heck do you perform regular, simple backup/restore jobs for one site without going completely insane...? :p
Web Development in Nottingham, UK by Kineta Systems / Follow me on Twitter! @NikLP
My thoughts as well
I agree...
Basic requirements:
1.) run multiple sites from single Drupal core
2.) each site has own database
Another important requirement:
3.) "profile" option(s)
========
Doug Ouverson
========
Doug
Tutorial - let's get one done!!!
What's the purpose of this "group"? This is not a rhetorical question.
If it's to help Drupal developers configure and run multiple sites from a single code base, then why don't we work on a tutorial? I started one name: "10 Minute Multisite Install & Configuration (wouldn't that be great!).
Would love to have my server configured this week! Is there anybody else out there that would also like to accomplish this goal? Let's work together...
========
Doug Ouverson
========
Doug
Really...
... my point here is that I want to have a single codebase not only for Drupal Core (and Core modules) but also a "pool" of core-but-not-Core (if you follow! ;) ) contributed modules (Views, CCK, Panels, Pathauto, SEO stuff, TinyMCE, etc) that I can offer as a package. This of course has the benefit of providing a chargeable service, but keeping actual maintenance and security problems to a minimum, and also reducing support overheads.
The issue that I'm trying to raise is - is there a performance hit incurred by merely offering a lot of contributed modules to a potential customer, who may not use any of the contrib modules? i.e., having them available but not installed?
I'm thinking along the lines of providing a hosted drupal service, but obviously the main advantage of that is providing upgrades as part of the service, along with a choice of codebases.
Web Development in Nottingham, UK by Kineta Systems / Follow me on Twitter! @NikLP
No easy answer - go module by module
NikLP,
In theory, you will not take a performance hit for modules that a customer is not using. You may take a database/memory hit based upon what the modules load by default.
The devil is always in the details and you won't know which module is going to be a problem until you try it out.
I've found from a "performance" perspective you are better spending a little time on the core linux services than Drupal.
Some data
I've got a 4.7.3+ Drupal installation running on a single dedicated server (including DB) that is hosting 100s of multi-sites with seperate databases off the same codebase.
Of course, I've done some server tuning (Apache, PHP, Drupal, MySQL) for performance.
I'm estimating I can get close to 500 sites on a single server.
I have avoided a couple of modules given what I considered performance issues. EventRepeat was one of those. It created a database table in each site and kept 300+ rows of data in each table. Bad design from my perspective.
I use the core image upload features and thus require a larger PHP memory setting than I would like. I am in the process of plugging in a different way to upload images and can then bring down my PHP memory settings.
I wrote a small script attached to the primary Drupal account to run through all the sites sequentially and do cron.
In the end, it really depends on what you are trying to do....
Hi
Can you get in touch with me to share information about the hardware that you think that you can run about 500 sites on. I'm very curious to know since I'm doing hardware estimations for a similar setup. Send an email to oakenstream@gmail.com