Параметры балансировки нагрузки службы приложений Azure

В шаблоне ARM для службы приложений Azure есть параметр для настройки алгоритма балансировки нагрузки - loadBalancing. Согласно документация он доступен через объект SiteConfig и может иметь следующие значения: WeightedRoundRobin, LeastRequests, LeastResponseTime, WeightedTotalTraffic, RequestHash.

Мы провели некоторое тестирование с планом обслуживания приложений Standard S1 с двумя экземплярами. Первый экземпляр отвечал на все запросы без задержки, второй экземпляр отвечал на все запросы с задержкой в ​​3 секунды, привязка ARR была отключена.

Тест показал, что все настройки работают одинаково - после некоторого времени нарастания все запросы равномерно распределяются между двумя экземплярами. Этого не ожидалось, по крайней мере, для LeastResponseTime, который интуитивно предполагает направить больше трафика на первый экземпляр (с низким временем отклика).

Итак, вопрос в том, работает ли эта настройка? И если да, то в какой конфигурации службы приложений он соблюдается?

Не уверен в своем вопросе, не могли бы вы описать, что вы сделали в своем тесте? или что такое настройка балансировки нагрузки? и чего вы ждете от результата?

Nancy Xiong 03.10.2018 08:58

Мы использовали Netling для генерации множества HTTP-запросов GET к сервису приложения. Служба приложений запускала простое приложение ASP.NET MVC, которое отвечает HTTP 200 на все запросы получения с помощью «OK» в теле ответа. Приложение было настроено таким образом, что первый экземпляр отвечал немедленно (время ответа ниже 100 мс), а второй экземпляр добавлял 3-секундную задержку. В этом тесте мы попытались смоделировать случай, когда один из серверов испытывает большую нагрузку.

samfromlv 03.10.2018 10:30

Служба приложений Azure имеет параметр внутри шаблона ARM, называемый loadBalancing. Установка имени и поддерживаемых значений предполагает, что необходимо каким-то образом указать, как запросы распределяются между экземплярами. Однако мы не смогли увидеть никакой разницы при использовании разных значений параметра loadBalancing для нашего тестового примера. 50% запросов были серверами первого экземпляра, 50% запросов были серверами второго экземпляра, для всех поддерживаемых значений значений параметров: WeightedRoundRobin, LeastRequests, LeastResponseTime, WeightedTotalTraffic, RequestHash.

samfromlv 03.10.2018 10:35

Для взвешенного кругового алгоритма вы можете установить вес 5 для instance1 и вес 1 для instance2, каков результат? и вы можете сослаться на эти описание алгоритма балансировки нагрузки.

Nancy Xiong 03.10.2018 11:04

Служба приложений Azure использует внутреннюю подсистему балансировки нагрузки, которая не отображается и не настраивается напрямую (за исключением параметра misterios loadBalancing в ARM). Значит, нет возможности изменить вес.

samfromlv 03.10.2018 13:05

Просто подумайте, вы пытались проверить это из другого региона. Этот инструмент задержки может быть полезен azurespeed.com

DevDisrupt 03.10.2018 20:33

Вы можете взглянуть на этот кейс. Само масштабирование - это балансировка нагрузки.

Charles Xu 04.10.2018 10:30
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
10
7
2 179
0

Другие вопросы по теме