Hi,
Since I am going to production soon, I would like to first get an idea about how I should proceed with upgrades, for example when rolling out a new RPM. (I am running master-worker mode)
Would all the connections drop when installing a new package?
Do we have any post explaining best practices on upgrades and maintenance tasks?
Cheers.
Hi,
Simply install the new package and trigger a configuration reload. Even if there is no configuration changes… This will spawn a process from the haproxy binary freshly installed.
Will this kill all the connections running if it is running in worker-mode ?
It should not. We reload our configuration in production every 30 seconds–we don’t lose connections from what we’ve seen and we handle 5k requests per second. This is running HAProxy 1.6, so it doesn’t even have the latest and greatest in seamless reloading. You can find more information about seamless reloads here. Look at section “8”, which shows the reload command in 1.7 (which also works in 1.8). Make sure you look at the section where there are NO connections lost, because it does show “before and after” results.
There is a good chance that you won’t lose connections at lower RPS rates, but if you want to be extra sure, make sure you use the -sf
, -p
, and -x
flags.
Hopefully that helps! Let us know how that goes!
1 Like
No.
The established sessions are still operated by the old process until they are over.
Hi,
Thanks, it seems to work perfect, maybe I have to work on the keepalived maintenance now.
Cheers.