Thank you Baptiste, seems like it should work then out-of-the-box when using appsession.
On Haproxy reload the sessions should be cleared and then clients would be replicated to new servers. /E -----Original Message----- From: Baptiste [mailto:bed...@gmail.com] Sent: den 7 november 2011 12:43 To: Erik Torlen Cc: vivek.ma...@gmail.com; David Birdsong; haproxy@formilux.org Subject: Re: Autoscaling in haproxy with persistence sessions Hi Erik, Let me give you a few information, I don't know if it will help. Appsession is not resilient on HAProxy reload. Which means that since you reload after updating configuration, then all session will be re-dispatched. You can use stick-table too, sticking on cookie is doable easily with latest HAProxy. Note that in HAProxy 1.5-dev7, there is also a "clear tabe" command available on the stats socket. This page summarizes what's new in HAProxy 1.5-dev7 compared to 1.5-dev 6: http://blog.exceliance.fr/2011/10/03/whats-new-in-haproxy-1-5-dev7/ cheers On Mon, Nov 7, 2011 at 9:32 PM, Erik Torlen <erik.tor...@apicasystem.com> wrote: > If you get a burst against 3 active backend servers they will take care of > all the request and connections. The clients that are active > will then get a persistence sessions against 1 of these 3 servers. It will > take ~5min to scale up a new server so during that period > more clients could come in and the 3 backend would then be even more > overloaded. > > It is that case that I would like to avoid by resetting the session so that > existing plus new sessions are spread through all the existing > plus new servers. > > /E > > > -----Original Message----- > From: vivek.ma...@gmail.com [mailto:vivek.ma...@gmail.com] > Sent: den 7 november 2011 12:27 > To: David Birdsong; Erik Torlen > Cc: haproxy@formilux.org > Subject: Re: Autoscaling in haproxy with persistence sessions > > If the solution is intended for traffic burst, Isn't it safe to assume that > most clients will be new which appsession/cookie doesn't know about? > > New clients will automatically be preferred to go to newly added servers as > new servers will have least active connections. > > I don't think any special change is required in practice to handle burst of > new traffic from say a premium ad buy or email blast (along with using > maxidle) > > Vivek > Sent via BlackBerry from T-Mobile > > -----Original Message----- > From: David Birdsong <david.birds...@gmail.com> > Date: Mon, 7 Nov 2011 12:17:53 > To: Erik Torlen<erik.tor...@apicasystem.com> > Cc: Vivek Malik<vivek.ma...@gmail.com>; > haproxy@formilux.org<haproxy@formilux.org> > Subject: Re: Autoscaling in haproxy with persistence sessions > > This sounds like what balancing on a hashed value is intended for. > 'hash-type consistent' will reduce the redistribution of keys when the > pool is expanded, and when nodes are removed, only the removed nodes > keys are redistributed. > > On Mon, Nov 7, 2011 at 11:15 AM, Erik Torlen > <erik.tor...@apicasystem.com> wrote: >> Interesting. In this case we are expecting a lot of burst traffic during a >> very short period of time, 15-30min so I am not sure if we can rely on >> scaling in a more proactive way to send traffic to the new servers. I would >> be >> more comfortable if we could just clean the existing sessions and let them >> be spread over the new servers + existing servers. >> >> >> >> I had a look at stick-table and saw that it has methods to support being >> deleted/cleared through the socket interface. Is it possible to do something >> similar to clean appsessions? Or maybe store appsession in >> a stick-table and clear the session through socket command? >> >> >> >> /E >> >> >> >> From: Vivek Malik [mailto:vivek.ma...@gmail.com] >> Sent: den 7 november 2011 11:05 >> To: Erik Torlen >> Cc: haproxy@formilux.org >> Subject: Re: Autoscaling in haproxy with persistence sessions >> >> >> >> I personally find it easier to use cookie instead of appsession. We use a >> similar pattern of adding a new server. Keeping a low maxidle (like 10 >> minutes) helps us send traffic to new servers. Keeping maxidle helps us >> maintain session affinity where required (like progress bars for uploads) >> >> >> >> Vivek >> >> On Mon, Nov 7, 2011 at 1:32 PM, Erik Torlen <erik.tor...@apicasystem.com> >> wrote: >> >> Hi, >> >> We are currently having a system which runs haproxy in the amazon cloud. Our >> system is also using autoscaling of backendservers >> so when we reach a certain cpu usage during x min we will add more servers >> to the backend and update the haproxy config + reloading haproxy. >> >> This works good as we have it now. >> >> What we would like is to add persistence to the backend in order to use the >> caches on the backend servers more efficiently (a shared cache would have >> been >> better but is not the case now unfortunately). >> >> This makes the autoscaling a bit more complex because of the persistence. >> When scaling up new servers the client would still stay on the "overloaded" >> backend servers instead of start using the new ones. >> >> So I thought I would check with you if there is a way to "clear" persistence >> session used by appsession in a good way without effecting the traffic to >> servers? >> >> If we cleared all the persistence sessions we could let the client go into >> the new backend servers and have "request-learn" in appsession learn the >> cookie and set persistence to the existing and new servers for the client. >> >> Any ideas here? >> >> Cheers >> E >> >> > >