Dan McCormick wrote:
> 
> All this talk of mod_proxy has me wondering:  What's the conventional
> wisdom regarding the speed up or load balancing of a server running
> something like Apache::ASP, or anything else that tracks sessions?
> 
> If you split things between a proxy and a mod_perl server, the first hit
> would have to go through to the mod_perl server to initiate the session,
> but subsequent requests which may not need the session info could be
> sent to the proxy.  Is that possible?
> 
> Further, what are the standard ways to load balance a session-tracking
> app across multiple servers when the sessions are stored in memory and a
> given user has to be consistently sent back to the same machine?  Can
> round-robin DNS be counted on to send people back to the same server
> over the life of a given session?
> 

They can all go through the proxy, the savings is that the proxy
will buffer down the slow internet pipes that clients have, freeing
up the modperl httpd for other things.

About load balancing, we are running the StateDir to a non caching
NFS mount point to a NetApp cluster.  There is a problem with NFS
locking, and Apache::ASP can't ensure data integrety over the 
network, even if patched up to use NFS locking.  Seem like there 
might be Linux NFS locking unresolved issues, that people see 
with MySQL too.  

The upshot is that in this environment, it helps to use SDBM_File, 
the default, not DB_File, since DB_File gets corrupted, whereas 
SDBM_File may just not save some data if there are too many 
concurrent hits, but Apache::ASP will repair the parts that 
are necessary, as this is all really concerning a central db that 
it keeps.

Further, I have recently done some work in my dev v.19 so that 
there will be fewer problems with the Session_OnEnd event, with the 
fix being to have one process on one web server being responsible
for session management at any one time, so there are not conflicts
which there would otherwise be.

With sharing state files to an NFS share, the sessions can move
from server to server even if one server goes offline, which 
you won't find with solutions that have clients stay on a server 
saving session data locally in RAM or disk.

--Joshua

Reply via email to