mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2024-12-17 00:44:33 +00:00
MINOR: config: disable busy polling on old processes
in the context of seamless reload and busy polling, older processes will create unecessary cpu conflicts; we can assume there is no need for busy polling for old processes which are waiting to be terminated. This patch is not a bug fix itself but might be a good stability improvment when you are un the context of frequent seamless reloads with a high "hard-stop-after" value; for that reasons I think this patch should be backported in all 2.x versions. Signed-off-by: William Dauchy <w.dauchy@criteo.com>
This commit is contained in:
parent
125ad1f343
commit
3894d97fb8
@ -1476,6 +1476,10 @@ busy-polling
|
||||
prefixing it with the "no" keyword. It is ignored by the "select" and
|
||||
"poll" pollers.
|
||||
|
||||
This option is automatically disabled on old processes in the context of
|
||||
seamless reload; it avoids too much cpu conflicts when multiple processes
|
||||
stay around for some time waiting for the end of their current connections.
|
||||
|
||||
max-spread-checks <delay in milliseconds>
|
||||
By default, haproxy tries to spread the start of health checks across the
|
||||
smallest health check interval of all the servers in a farm. The principle is
|
||||
|
@ -1116,6 +1116,8 @@ void soft_stop(void)
|
||||
struct task *task;
|
||||
|
||||
stopping = 1;
|
||||
/* disable busy polling to avoid cpu eating for the new process */
|
||||
global.tune.options &= ~GTUNE_BUSY_POLLING;
|
||||
if (tick_isset(global.hard_stop_after)) {
|
||||
task = task_new(MAX_THREADS_MASK);
|
||||
if (task) {
|
||||
|
Loading…
Reference in New Issue
Block a user