Что измеряет leastconn в HAProxy внутри пула SOCKS
Пул TCP в HAProxy выбирает по активным соединениям и весам, а не по скорости загрузки цели или полному состоянию SOCKS.
listen socks_pool
bind 127.0.0.1:1080
mode tcp
balance leastconn
timeout connect 5s
timeout client 1h
timeout server 1h
server proxy_a 192.0.2.10:1080 check
server proxy_b 192.0.2.11:1080 checkИспользуйте реальные совместимые конечные точки SOCKS и тайм-ауты, соответствующие нагрузке. Настройте приложение как клиент SOCKS для loopback-слушателя; бэкенды должны принимать ожидаемый протокол и учётную запись. Для разрешённых тестов публичных целей без учётных данных SOCKS список прокси SOCKS предлагает кандидатов; согласуйте версию SOCKS клиента и проверьте доступ к реальным целям.
Менее загруженный сервер всё равно может иметь более медленный вышестоящий канал. leastconn балансирует активные счётчики и веса, а показанная проверка устанавливает только приём TCP. Согласование, аутентификация и доступ к назначению требуют отдельных доказательств.
Работающий туннель остаётся на выбранном бэкенде. Этот пул TCP не передаёт отдельные датаграммы UDP ASSOCIATE.
Если нужна минимальная задержка до цели, определите и измерьте именно этот результат для конкретной цели, а не выводите его из числа соединений.