Maxconn backend HAProxy: в HTTP учитываются запросы, а не только TCP-соединения
Фотография конкретного исполнения не приложена.
Для защиты backend от перегрузки нужно ограничить принятую работу и ожидание. Название maxconn не всегда означает одно и то же количество физических сокетов. В справочнике HAProxy 3.2 для серверного параметра в HTTP-режиме ограничиваются параллельные запросы, которые могут использовать мультиплексируемое соединение.
Следовательно, число соединений на стороне сервера нельзя непосредственно сравнивать с лимитом как с доказательством недозагрузки или превышения. Значение на listener, frontend и серверной строке также имеет собственную область действия. В проекте фиксируют конкретный объект и протокол, к которым относится число.
При исчерпании слотов работа ожидает в очереди. Maxqueue задаёт её серверный предел, а timeout queue — допустимое ожидание. Увеличение очереди не повышает производительность приложения и способно только отложить отказ. Возможное перераспределение к другому серверу также должно соответствовать требованиям сессии и данных.
В приёмке создают согласованную нагрузку выше ёмкости backend и измеряют одновременно запросы, соединения, очередь и клиентский результат. Проверяют состояние после разгрузки. Положительный health check во время накопления очереди не доказывает приемлемое время ответа, а отсутствие большого числа TCP-сокетов не подтверждает наличие свободного HTTP-слота.
Основание — Official HAProxy3.2 text references, Configuration Manual dated2026/10/14; separate PROXY protocol1/2 specification, разделы Server maxconn; maxqueue; timeout queue. Сохранён текст публичной справочной публикации; конкретная реализация может поддерживать только часть возможностей. Основание — официальные текстовые справочники ветки HAProxy 3.2. Configuration Manual имеет дату 2026/10/14; номер patch из другого HTML-конвертера на эти файлы не переносится. Установленные сборка, конфигурация и backend не проверялись; изменений не выполнялось.