On Mon, Aug 01, 2011 at 12:14:48PM -0400, Julien Vehent wrote:
> You're right, I do set the weight at zero first, and then after a 
> couple of hours, put the server in maintenance mode.

OK.

> What I'm trying to reduce is the time between setting a server's weight 
> to zero, and seeing no connections on it.
> With maxlife 1h, I get a decent compromise. After one hour from setting 
> the server to zero, I would probably only disconnect 0.001% of obsessive 
> users, so it's "fine".

Yes that's the right method. However, if you want to ensure that nobody
will connect to your server during the operations, you can force the
server to enter the maintenance mode (using the stats socket or stats
web interface).

> >Cookie insertion is more reliable and more determinist since there 
> >are
> >no tables to learn and maintain. Also, with recent versions, we now 
> >have
> >features such as "force-persist" and "ignore-persist" which make it a 
> >lot
> >easier to perform maintenance on live service without the user 
> >noticing
> >and with the ability for the admin to check what he's going to put 
> >online
> >before doing so. All these are good reasons to use a SERVERID cookie
> >instead of learning a JSESSIONID cookie.
> >
> 
> I fail to see how ignore-persist can help me in this case... As I 
> understand it, ignore-persist will force haproxy to ignore the 
> persistence cookie and load balance the request to any available 
> backend. In my case, it would mean redirect the user with an active 
> session to another backend, effectively disconnecting it. Am I correct ?

Exactly. Different people proceed in different ways. For instance, there
are some who would use ignore-persist to match a cookie value (that of
the server you're putting offline). But with the maintenance mode, this
is no longer necessary.

Regards,
Willy


Reply via email to