2012-05-19 1 views
5

Я хочу иметь возможность конфигурировать эмулятор балансировки нагрузки Azure таким образом, чтобы два последовательных вызова в веб-приложение всегда приводили к вызовам в разные экземпляры.Как проверить балансировку нагрузки Azure?

Как я могу это выполнить? Как я могу проверить, работает ли балансировщик нагрузки как ожидалось? Использование HttpContext.Current.Request.Url и seing, если порт конечной точки изменяется?

Заранее спасибо

ответ

9

Балансировщик нагрузки по умолчанию, которые были доступны для Windows Azure Web и рабочих ролей балансировки нагрузки программного обеспечения и не так много конфигурируемых однако они работают в обстановке Round Robin. Если вы хотите, чтобы проверить это поведение, это то, что вам нужно сделать:

  1. Создание двух (или более) экземпляров вашей службы с доступом к RDP включен, так что вы можете RDP к обоих случаях
  2. RDP к вашим обоих случаях и запустить NETMON или любое решение для сетевого монитора.
  3. Теперь обращайтесь к своему веб-приложению Windows Azure со своего рабочего стола
  4. Вам необходимо понять, что при подключении к сети с вашего рабочего места соединение по-прежнему сохраняется на основе сетевых настроек (по умолчанию 60 секунд), поэтому вам нужно подождать время ожидания по умолчанию передается для повторного доступа к веб-приложению Windows Azure.
  5. Когда вы снова получите доступ к веб-приложению Windows Azure, вы можете проверить, сколько секунд было отправлено запрос на следующий экземпляр. Не забудьте передать тайм-аут соединения, иначе ваш запрос будет обрабатываться одним и тем же экземпляром.

Примечание: Если вы не хотите использовать RDP, вы также можете создать тестовую страницу ASP.NET для написания специального кода на основе вашего конкретного экземпляра, который покажет вам, что эта страница относится к определенному экземпляру. Лучший способ сделать это прочитать идентификатор экземпляра, как показано ниже:

int instanceID = RoleEnvironment.CurrentRoleInstance.Id; 

Если вы хотите иметь больше контроля над Windows Azure Load Balancing, я предложил бы использовать Windows Azure Traffic Manager, который поможет вам маршрут в трафик на ваш сайт с помощью Round-Robin, Performance или резервного копирования. Дополнительная информация об использовании Traffis Manager находится в этом article.

+0

Действительно подробное объяснение, спасибо – ToinoBiclas

+0

Мое удовольствие. Это очень большой вопрос, и я всегда хотел документировать, как это сделать в моем блоге, но по крайней мере это документировано здесь, так что это хорошо. – AvkashChauhan

+1

Позвольте мне пояснить, что вы не можете рассчитывать на какой-либо такой алгоритм в балансировщике нагрузки, и вы не можете рассчитывать на то, что он является аппаратно-программным. Хотя сегодня вы можете очень хорошо наблюдать круговую схему, вы не можете рассчитывать на это. Далее: диспетчер трафика не следует рассматривать как балансировщик нагрузки для ваших экземпляров роли. Это может быть только балансировка нагрузки между несколькими развертываниями одного и того же приложения в разных центрах обработки данных через общедоступную конечную точку IP. –