
Пытаюсь сбалансировать нагрузку моего приложения с помощью AWS Elastic Load Balancer. Приложение представляет собой настраиваемый отправитель/получатель на основе TCP.
В любом случае, ELB, по-видимому, отправляет 100% трафика на одну машину, игнорируя другой работоспособный подключенный экземпляр.
Я не вижу возможности изменить поведение циклического алгоритма...
Предложения? Спасибо!
решение1
Если трафик исходит только от вашего тестирования, вы, возможно, всегда будете попадать на один и тот же сервер, даже если привязка/связанность сервера отключена.
Если серверы находятся в разных зонах доступности, то настроено несколько ELB (по одному в каждой AZ), и все они возвращаются в DNS-запросе для ELB. ОС выберет один из них и, вероятно, всегда будет использовать один и тот же.
Попробуйте из другого географического региона или поместите оба в одну и ту же AZ и посмотрите, получите ли вы те же результаты. Если это сработает, то вас, вероятно, устроит то, как вы это настроили, поскольку реальный трафик будет распределяться по обеим зонам доступности.
решение2
С AWS ELB балансировка нагрузки не является циклической. Мы обнаружили, что обычно трафик с одного IP всегда достигает одного и того же сервера. Поэтому наш подход к тестированию правильного балансировщика нагрузки заключается в использовании распределенной настройки JMeter на нескольких экземплярах EC2 для имитации нагрузки с разных IP.