We have a system, which is currently running on a single Apache server with a database. For reasons of load balancing and high availability, we would like to have multiple httpd's on different machines.
Is this possible with Drupal? Is it supported somehow? What is the recommended setup? (Which Apache module, if any, login dispatcher, whatever) Does the application need to support the setup?
We're running Drupal in a server farm. The only thing we had to do differently was to make sure that the config file pointed at the database server, rather than localhost. I make changes to files (style sheets, templates, settings.php, etc.) on our master server, which then replicates everything out to the other servers. All of this is behind some fancy-shmancy load balancer (Alteon, I think); the only problems we've ever had is when one of the servers goes kablooey and stops accepting updated files for one reason or another, and that's hardly Drupal's fault!
Adam Gaffin Executive Editor, NetworkWorld.com agaffin@nww.com / (508) 490-6433 / http://www.networkworld.com "I programmed my robotic dog to bite the guy who delivers the electronic mail." -- Kibo
On 06 Oct 2005, at 15:45, Adam Gaffin wrote:
We're running Drupal in a server farm. The only thing we had to do differently was to make sure that the config file pointed at the database server, rather than localhost. I make changes to files (style sheets, templates, settings.php, etc.) on our master server, which then replicates everything out to the other servers. All of this is behind some fancy-shmancy load balancer (Alteon, I think); the only problems we've ever had is when one of the servers goes kablooey and stops accepting updated files for one reason or another, and that's hardly Drupal's fault!
Just wondering; how do you deal with users uploading documents (eg. avatars/pictures)? Do you put these on an NFS share so they become instantly visible on all servers? We're considering to leverage Apache's proxy passthrough for this, rather than using an NFS share.
-- Dries Buytaert :: http://www.buytaert.net/
On Sun, 2005-10-09 at 11:43 +0200, Dries Buytaert wrote:
On 06 Oct 2005, at 15:45, Adam Gaffin wrote:
We're running Drupal in a server farm. The only thing we had to do differently was to make sure that the config file pointed at the database server, rather than localhost. I make changes to files (style sheets, templates, settings.php, etc.) on our master server, which then replicates everything out to the other servers. All of this is behind some fancy-shmancy load balancer (Alteon, I think); the only problems we've ever had is when one of the servers goes kablooey and stops accepting updated files for one reason or another, and that's hardly Drupal's fault!
Just wondering; how do you deal with users uploading documents (eg. avatars/pictures)? Do you put these on an NFS share so they become instantly visible on all servers? We're considering to leverage Apache's proxy passthrough for this, rather than using an NFS share.
I was trying these and a few other solutions, and it really depends on you hardware and software setup and degree of control.
* NFS has a problem with locks - locking is not guaranteed or is relatively slow. * passthrough will work, but for files you will end up with only one backend - might be allright, depends on the case * a cluster file system - gfs, cnfs, .... will do it out of the box, but requires more complicated setup and maintenance * scripts + cvs/svn/other version control system - there is a lag in the file updates, but otherwise works fine, except for rare race conditions, like file uploaded a couple of times to different web servers, before it was synced
On Sunday 09 October 2005 11:43, Dries Buytaert wrote:
Just wondering; how do you deal with users uploading documents (eg. avatars/pictures)? Do you put these on an NFS share so they become instantly visible on all servers? We're considering to leverage Apache's proxy passthrough for this, rather than using an NFS share.
Dries (et al), This is one thing I plan to address in my files talk on DrupalCON, and hopefull we get something agreed in the chats afterwards. I call this point "Allow a layered or more flexible file storage" (think of database file storage, NFS, or anything even more fancy)
Bèr