Некоторые основные принципы работы таймаутов в HAProxy:
- Timeout client. 12 Устанавливает максимальное время бездействия на стороне клиента. 1 Если клиент не начинает отправлять или принимать данные в течение этого времени, соединение закрывается. 1
- Timeout connect. 12 Определяет максимальное время ожидания успешного подключения к серверу. 1 Этот параметр относится к фазе соединения, а не к передаче данных. 1
- Timeout server. 12 Устанавливает максимальное время бездействия на стороне сервера. 1 Если за это время между HAProxy и сервером не происходит передача данных, соединение закрывается. 2
- Timeout http-keep-alive. 1 Определяет максимальное разрешённое время ожидания нового HTTP-запроса. 1 Когда сервер отправляет ответ, этот таймаут срабатывает, и если в течение этого времени поступает новый запрос, соединение используется повторно. 1
- Timeout queue. 1 Устанавливает максимальное время ожидания в очереди для свободного слота соединения. 1 Когда достигаются максимальные соединения, запросы ставятся в очередь на это время. 1
- Timeout tunnel. 12 Устанавливает максимальное время бездействия на стороне клиента и сервера для туннелей. 1 Этот параметр используется, например, при переходе к соединению через WebSocket. 12
Эффективность настройки таймаутов в HAProxy зависит от требований отдельных приложений и состояния сети. 2