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/
signature.asc
Description: This is a digitally signed message part