Почему Web Farm Framework продолжает помечать мои WFE как нездоровые?
Каждые несколько часов Web Farm Framework отключает мою ферму с ошибкой 502, а 2 WFE в ферме помечаются как нездоровые.
У меня не настроен проверочный URL-адрес в Мониторинг работоспособности, и все в порядке еще несколько часов, если я вручную "Сделать сервер доступным", то тоже самое.
WFF - это балансировка нагрузки приложения ASP.NET. Как я могу узнать, почему они помечены как нездоровые, или просто отключить обнаружение работоспособности, чтобы WFE отключался только в случае ошибки развертывания?
РЕДАКТИРОВАТЬ: Это последняя платформа веб-фермы на IIS.net на вчера.
3 ответа
Я думаю, что нашел ответ. Если вы перезапускаете пул приложений ARR, вы получаете ошибку 502.4 при попытке доступа к вторичным серверам через контроллер WFF (который является http-балансировщиком нагрузки). Я установил время простоя на 0 минут, чтобы отключить перезапуск пула приложений.
С http://forums.iis.net/t/1158399.aspx
"С функциональной точки зрения это значение не влияет на работу ARR. Время простоя предназначено для остановки рабочего процесса, чтобы освободить больше памяти. (Значение по умолчанию составляет 20 минут. Так, например, если у вас есть несколько сайтов / приложений в нескольких пулах приложений, и если на одном из них не было никаких действий, IIS отключит рабочий процесс - так что другие процессы / и т. д. могут потреблять ресурсы на компьютере.)
Поскольку ARR передает все запросы на серверы контента / приложений, которые находятся за ним, мы рекомендуем, чтобы рабочий процесс работал все время. (Тем не менее, если есть постоянный поток трафика, то рабочий процесс будет работать все время, независимо от этого значения. Т. Е. Он не будет простаивать в течение 20 минут.)"
Также не забудьте отключить утилизацию приложения по умолчанию.
По умолчанию ARR DefaultAppPool будет иметь Timeout=20 и Recycling ~ Fixed Intervals = 1740.
Установите Timeout=0 и снимите флажок Recycling ~ Fixed Intervals.
Еще одна вещь, которую я обнаружил после множества разочаровывающих отключений 502:
http://forums.iis.net/t/1183539.aspx/1
"Я сломался и заплатил за инцидент поддержки с MSFT, чтобы помочь в этом. Для serverAutoStart было установлено значение false для фермы, в которой возникли проблемы. Это было в файле C:\Windows\System32\inetsrv\config\applicationHost.config ".
Этот параметр был ложным и для нас, так как при значении true у нас не было 502
Еще один маленький кусочек вуду, на который следует обратить внимание при изменении applicationhost.config на 64-битных машинах:
https://stackoverflow.com/questions/5696801/iis-7-5-applicationhost-config-file-is-not-being-updated