Использование наименьшего числа с весами в HAProxy - PullRequest
0 голосов
/ 11 июня 2018

Я хотел бы иметь возможность использовать наименьшее количество подключений в HAProxy, сохраняя при этом разные веса на внутренних хостах.

Контекст: у меня есть ~ 100 внутренних серверов, к которым обращаются ~ 2000 внешних хостов.Все внутренние серверы обрабатывают запросы одинаково (без более быстрых хостов), однако некоторые внутренние серверы могут обрабатывать больше запросов (у них больше ядер).Проблема в том, что я не могу использовать циклический перебор в том виде, в каком он есть, потому что иногда некоторый внутренний сервер застревают с длинными соединениями, и с циклическим перебором он будет получать все больше и больше внешних соединений, которые он никогда не восстанавливает.В текущей ситуации я использую наименьшее количество подключений, поэтому все серверы бэкэнда обрабатывают примерно одинаковое количество запросов, но я не оптимизирую их использование ЦП.

То, чего я хотел бы достичь, - это иметь возможность продолжать использоватьнаименьшее количество, но позволяющее больше подключений к определенным хостамНапример, если у нас только 2 хоста: хост A с 1 ядром и хост B с 2 ядрами.В любой момент я хотел бы, чтобы HAProxy решал, какой хост выбрать на основе:

x = num_current_connections_A, y = 0.5 * num_current_connections_B.Если x <= y, переходите к A, в противном случае переходите к B. </p>

Я прочитал этот пост, в котором говорится о той же проблеме, но никакой ответ действительно не решил мою проблему: http://haproxy.formilux.narkive.com/I6hSmq8H/balance-leastconn-does-not-honor-weight

Спасибо

...