Le 9/19/22 à 21:04, Tim Düsterhus a écrit :
Christopher,
On 9/19/22 20:22, Christopher Faulet wrote:
It is not exactly how it works. When HAProxy is reloaded, it stops to accept new
connections and it closes idle HTTP connections on the server side and also on
the client side. However, on client sides, a connection is idle if at least one
request was processed. So totally inactive clients are not closed. These clients
may still perform a request. Connection to servers are not blocked on old
workers.
It is important when "idle-close-on-response" option is enabled. In this case,
idle client connections are not closed and may try to perform a last request.
This means all backend mechanisms must still be running (load-balancing,
redispatch, l7-retry, health-checks, dns resolution ...).
In other words: If I do not use 'idle-close-on-response' or if all
existing connections have been used at least once, the health/DNS logic
could technically be disabled?
In that case I would file a feature request for that, because
'hard-stop-after' and 'mworker-max-reloads' both are "not great" for our
use case. I want to keep the connections alive for as long at possible,
but without adding unnecessary load on our backends or resolvers.
I would say yes, it is possible. But I don't know if it is easy to achieve.
--
Christopher