Forum OpenACS Q&A: Load Balancing (Pound) and maintaining code

Hi all,

we are planning to use Pound as a load balancer for an OpenACS installation of a customer of us to improve performance.

As we are going to double the OpenACS source code, we have to think about what happens if we maintain the code and an APM reload or web server restart is needed.

Does anyone has experience with this scenario?

Do you restart all webservers?
Do you an APM reload on every machine in the cluster?

Thoughts are welcome.

Nils

Collapse
Posted by Tracy Adams on
At United Way, we use multiple front ends with load balancers...

If you only have 1 database behind all your front ends, you would only need to run the APM on one of your front end machines. The reason is that the APM will update the database with the appropriate configurations and run data model scripts.

And if you have a separate code checkout for each web server, you'd have to update each set of code. If they are sharing the same page source, you wouldn't have to.

You would have to either source or restart each web server separately. You could do this one at a time so the site never goes down. Keep in mind that if you make any changes to code a scheduled procedure touches, you do have to restart AOLserver (not just load the new TCL) so it takes effect.

Collapse
Posted by Daniël Mantione on
I think it is best to share the code over NFS or so, since that not only saves you a lot of maintenance when installing/upgrading modifying packages, but also the content repository reads and writes to files, which better get updated on all machines.
Collapse
Posted by Nils Lohse on
Hi Tracy,
Hi Daniël,

thank you for your input.

At this time we have two webservers and one database server.

Code is doubled to improve performance (and avoid fileserver access), except of the content repository files (mounted via NFS).

I have a test installation running, but that's not finally yet. I will deal with session handling and IP logging and maybe other stuff before it will go into operation.

Nils