Серверы и ИИ: практическое применение
Graceful reload HAProxy: старые соединения могут оставаться у прежнего worker
Перезагрузка конфигурации не означает переноса каждого открытого соединения в новый процесс. При graceful-процедуре прежний worker прекращает принимать новые подключения и продолжает обслуживать существующие до их завершения. Для долгоживущих сеансов это может занять значительное время.
Management Guide описывает запуск новых workers при master-worker reload и отдельное поведение жёсткой остановки. Поэтому текущий файл конфигурации и правила нового worker не обязательно описывают каждое ещё живое старое соединение. Оператору нужно различать поколения процессов и их нагрузку.
Длительные туннели или потоковые подключения способны удерживать ресурсы нескольких поколений после повторных reload. Hard-stop-after ограничивает время завершения soft-stop и может прекратить оставшиеся соединения. Его нельзя считать одновременно гарантией бесконечного сохранения сеанса и немедленного освобождения памяти.
В приёмке проверяют новый запрос, существующий длительный поток и несколько последовательных reload на стенде. Наблюдают завершение старых workers и клиентский результат при согласованном пределе остановки. Успешный код запуска новой конфигурации не является подтверждением отсутствия старых процессов или нулевого влияния на все типы соединений.
Основание — Official HAProxy3.2 text references, Configuration Manual dated2026/10/14; separate PROXY protocol1/2 specification, разделы Stopping and restarting HAProxy; master-worker reload; hard-stop-after. Сохранён текст публичной справочной публикации; конкретная реализация может поддерживать только часть возможностей. Основание — официальные текстовые справочники ветки HAProxy 3.2. Configuration Manual имеет дату 2026/10/14; номер patch из другого HTML-конвертера на эти файлы не переносится. Установленные сборка, конфигурация и backend не проверялись; изменений не выполнялось.