Проверка балансировки сетевой нагрузки (NLB) и IIS программно в C # - PullRequest
0 голосов
/ 06 марта 2012

Я намереваюсь написать небольшую программу для проверки подключения службы IIS и статистики через несколько подключений параллельно. Служба IIS стоит за службой NLB (и там 3 разных службы). Итак, что я сделал до сих пор:

  1. Создайте обработчик http, который возвращает имя текущего сервера IIS.
  2. Создание небольшого HTTP-клиента в приложении WinForms, которое отправляет запрос в NLB. В этом клиенте: серия из 100 параллельных запросов через объект WebClient отправляется в службу NLB.

Результаты: Когда я отправляю запросы в NLB, всегда один ответ сервера IIS. Когда я пытаюсь изменить URI специально для серверов IIS - каждый сервер отвечает на свой запрос. Теперь я думаю, что это означает, что NLB не делает то, что должен, поскольку он всегда перемещается на один и тот же сервер (для каждого запуска один сервер отвечает - он может измениться, но не для запуска).

Достоверна ли упомянутая мной проверка для проверки NLB? Если нет, то как я могу проверить это через приложение Winforms?

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

Ответы [ 2 ]

1 голос
/ 26 июля 2013

В менеджере NLB есть Affinity setting.

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

1 голос
/ 06 марта 2012

Это типичное поведение NLB. Он будет пытаться дать вам один и тот же хост каждый раз. Вы не хотите, чтобы он каждый раз выбирал случайный сервер.

Вы получите гораздо больше полезной информации, изучив журналы IIS Server, счетчики производительности или встроенные процедуры мониторинга.

...