Another option .. probably not applicable to many of you is to have session management managed centrally for your web applications. We have a session management server our web servers access, it adds a little overhead to the system but the benefit is sessions are evenly distributed across the cluster. Pound is configured to round robin the connections across the cluster. Restarting/reloading pound has no effect on our end users except for the brief moment it takes to stop and start it.

Russell Odom wrote:
Alex Hunsley wrote:
  
So I was wondering if anyone has worked out a way to get around the
fairly abrupt nature of config reloads in Pound?
    

One way to retain all the current sessions when you restart pound:
1) Drain all the connections from all but one of the backends
2) Wait for all of the sessions attached to other backends to expire
3) Restart pound, and immediately make the same backends inactive again
4) Wait for the session timeout period - all the active sessions are
forced to re-establish themselves with the original server, because it's
the only one active (any sessions that are not re-established within
this period are invalid anyway)
5) Re-activate the rest of the backends

It's not ideal, but it works. It'd be better if pound could simply dump
its current sessions to disk, and attempt to reload them (assuming the
config fiule hadn't changed significantly in the meantime) on startup.

Regards,

Russ

  


-- 
Jimmy Brake
DW Alliance LLC
jimmy@dwalliance.com
510 903 0644
Making Web Solutions Easy for Business
http://www.dwalliance.com