I have always wondered how serious load balancing was done :) Is this technique documented anywhere? I would love to read up on it.
Thanks
Angus Mezick wrote:
Ahh, the is the beauty of the cookie! All my servers respond to www.guidestar.org. I start a session, save that session id in the cookie, save the sessionid and data to the DB table that all the servers share. The next request goes to a different server but it can still see the id in the cookie. That id is used to get the session data out of the table for use and then put the data back in. As long as the DB can handle the load I can add servers. I am not worried about the network handling the load because the only other way of doing this that I know of is to use Filip Hank's In Memory Session Replication at http://www.filip.net/tomcat/tomcat-javagroups.html which uses IP multicast. I didn't want all my servers to get load every time one server got a hit. If the DB gets overloaded I can always split my servers into 2 groups and use apache session affinity to split the work between them. Which leads to my next email :) Do the worker names in worker2.properties and the jvmroute in server.xml have any relation?
--Angus
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Tuesday, August 05, 2003 10:25 AM
To: Tomcat Users List
Subject: RE: how to suppor 30000 concurrent users
Sorry for being thick but Im a bit confused as to when you are doing anything with the sessions? If I make a request to one server, then go on to another for the next request, how does server 2 get my session from server 1 without server 1 having had to persist the session to disk every time any change is made to it?
Pete
"Angus Mezick" <[EMAIL PROTECTED]> 05/08/2003 15:11 Please respond to "Tomcat Users List"
To: "Tomcat Users List" <[EMAIL PROTECTED]>
cc: Subject: RE: how to suppor 30000 concurrent users
Doesn't seem to have that much of an effect. I guess I should profile
it though. I don't want to use session persistence because then I would
need to use network session clustering. Session clustering is a
requirement for my app. I figure using a DB instead of memory to store
my sessions is better than sending 5 network connections to the other 5
of the 6 web servers with the session data that will only be valid to
ONE of those servers. Before tomcat we were using Iplanet 4.1 and the
cisco load balance we have SAID it could handle session affinity but it
didn't seem to be able to. So we went with a DB solution which, to me,
seems to be the more optimal solution. The DB also means I can have a
MUCH larger number of active sessions using my servers because I don't
have to worry about the sessions using all my memory. I just have to
worry about DB disk space but I had have 2 or 3 terabytes of disk while
only have 2 GB of memory. Seems to be an easy trade.
--Angus
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Tuesday, August 05, 2003 9:40 AM
To: Tomcat Users List
Subject: RE: how to suppor 30000 concurrent users
Angus,
doesnt using a shared jdbc based session manager slow the whole thing down a lot? Why dont you just use session persistence?
Pete
-- ******************************************* * Rick Roberts * * Advanced Information Technologies, Inc. * *******************************************
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]