HAProxy's hot reconfiguration still leads to a failed request, any suggestions?

I found that the request has not yet been completed when traffic is high, using a command like this

haproxy -f /etc/haproxy.cfg -p /var/run/haproxy.pid -sf $(cat /var/run/haproxy.pid)

to reload the updated configuration file.

Below is the test result with webbench:

/usr/local/bin/webbench -c 10 -t 30 targetHProxyIP:1080
Webbench – Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET targetHProxyIP:1080
10 clients, running 30 sec.

Speed=70586 pages/min, 13372974 bytes/sec.
**Requests: 35289 susceed, 4 failed.**

I run the command

haproxy -f /etc/haproxy.cfg -p /var/run/haproxy.pid -sf $(cat /var/run/haproxy.pid)

several times during a pressure test.

The haproxy documentation mentioned

They will receive SIGTTOU 611 to ask them to temporarily stop listening to ports so that the new 612 can capture them

so there is a period of time when the old process does not listen on the PORT (say, 80), and the new process does not start listening on the PORT (say, 80), and during this certain period of time this will lead to Failed to establish new connections?

, - , haproxy, , ?

+3
1

, SO_REUSEPORT, , (3.9+), . 10 , , . , ​​ (), , , , , .

- , . .

+6

All Articles