On Wed, 2005-04-27 at 12:46 -0700, p dont think wrote:
[........]
> > At the very least,
> > establish persistence to your web servers on your load balancer so the
> > one-web-server-at-a-time can serialize requests to the PHP session as the 
> > user
> > makes simultaneous requests.
> 
> Do you have any pointers of where to go read about this?  I'm about to 
> start down this road and surely this problem has already been solved 
> thousands of times....
> 
> > If you go to storing the sessions in the database, I don't know if load 
> > balancing
> > will work at all without modifications being made to SQM (i.e., adding 
> > explicit
> > row locks at appropriate places).
> > 
[.........]

Hello

We have a cluster of 4 linux servers running SM without problems. 

3 webservers running apache/PHP/SM and a database server running
postgreSQL for sessions/addressbooks/userprefs.

We use LVS to access the webservers so we have full
failover/redundancy/load balancing at webserver level. The database is
working perfect but we need to do something with it if we want to have
an automatic failover/redundancy at this level too.

We have around 450.000 logins/month, 18.000 different users, 1.800
concurrent users in the system, 40.000.000 https requests/month and 220
GB/month of data transfered and we are using 30-40% of our capacity at
rush hours.  

The postgres database is working very well, we have around 60.000.000
transactions every month and it works without problems. The table used
for session data is heavy updated and it needs special care (vacuum runs
once every hour).

The only change in the SM code to save session data in a DB is a
"require_once("db_sessions.php")" line in functions/global.php to
include a file we have programed to define the
"session_set_save_handler()" code used to access the database.

TMP files from attachments sent via SM are saved in a partition in the
database server, this partition is exported via NFS to the webservers.
We are not 100% happy with this solution because NFS in linux does not
work 100%. 'Sometimes' the data is not 100% on sync between all servers
(gap of 1-2 sec.) and you can have a period of 1-2 seconds where one
webserver can not find the TMP file saved by another webserver. This is
a very small problem that we would like to fix in the future. Maybe is a
good idea to save this tmp data in the database too?, any plans for this
in the future? ;) we can help :) 

If you need more information do not hesitate to ask us for it.


-- 
Rafael Martinez, <[EMAIL PROTECTED]> 
Center for Information Technology Services 
University of Oslo, Norway                   

PGP Public Key: http://folk.uio.no/rafael/

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to