Назад | Перейти на главную страницу

Как использовать «Установить вес» в HAProxy

Привет, я настроил сервер HAProxy в haproxy.cfg для балансировки потока трафика между двумя серверами, скажем

server web1 10.10.10.10 weight 50
server web2 10.10.10.11 weight 50

Для целей тестирования нам нужно динамически устанавливать веса, поэтому мы используем set weight <backend>/<server> <weight>[%] команда, как упомянуто в этой статье http://cbonte.github.io/haproxy-dconv/configuration-1.4.html#hash-type

1) В документе они упомянули

Относительные веса разрешены только от 0 до 100%, а абсолютные веса разрешены от 0 до 256.

и если я использую установленный вес для web1 с процентным значением 70%, означает ли это, что 70% из выделенных 50 для трафика web1 (который изначально настроен на сервере) передается, если да, то остальные 30% в этом значении 50, где он пройдет?

2) Другой вопрос: если мы используем команду set weight как

set weight web1 10.10.10.10 3
set weight web2 10.10.10.11 1

Означает ли это, что 75% трафика идет на web1 и 25% на web2? Как пропорционально разделить трафик и использовать его с установленным весом.

Если возможно, дайте мне знать, как использовать абсолютный вес для разделения трафика. Спасибо за ответ.

Вопрос 1:

В документация состояния:

Если значение заканчивается знаком «%», то новый вес будет относиться к изначально настроенному весу.

Так что это действительно означает 70% «из 50, выделенных для web1». Куда пойдут остальные 30%, из документации не ясно, но это должен быть web2, поскольку его нельзя отбросить.

Вопрос 2:

В Документация HAProxy состояния:

Параметр «вес» используется для регулировки веса сервера относительно других серверов. Все серверы получат нагрузку пропорциональную их весу относительно суммы всех весов, поэтому чем больше вес, тем выше нагрузка. Вес по умолчанию равен 1, а максимальное значение - 256.

Итак, да, это означает, что web1 получит 75% = 3 / (1 + 3) трафика, а web2 получит 25% трафика.

Дополнительные вопросы:

Как пропорционально разделить трафик и использовать его с установленным весом.

Если возможно, дайте мне знать, как использовать абсолютный вес для разделения трафика.

Я не понимаю этих двух вопросов. Не могли бы вы немного уточнить?