Каждые несколько часов Web Farm Framework отключает мою ферму с ошибкой 502, и 2 WFE в ферме помечаются как Неработоспособные.
У меня нет URL-адреса проверки, настроенного в Мониторинге работоспособности, и еще несколько часов, если я вручную сделаю сервер доступным, то будет то же самое.
WFF - это балансировка нагрузки приложения ASP.NET. Как я могу узнать, почему они помечаются как неисправные, или просто отключить обнаружение работоспособности, чтобы WFE отключились только в случае ошибки развертывания?
РЕДАКТИРОВАТЬ: это последняя версия Web Farm Framework на IIS.net на вчерашний день.
Думаю, я нашел ответ. Если вы перерабатываете пул приложений ARR, вы получаете ошибку 502.4 при попытке доступа к вторичным серверам через контроллер WFF (который является балансировщиком нагрузки http). Я установил тайм-аут простоя на 0 минут, чтобы отключить перезапись пула приложений.
Из http://forums.iis.net/t/1158399.aspx
«С функциональной точки зрения, это значение не влияет на то, как работает ARR. Тайм-аут простоя предназначен для остановки рабочего процесса, чтобы освободить больше памяти. (Значение по умолчанию - 20 минут. Так, например, если у вас есть несколько сайтов / приложений в нескольких пулах приложений, и если на одном из них не было активности, IIS отключит рабочий процесс, чтобы другие процессы и т. д. могли использовать ресурс на компьютере.)
Поскольку ARR передает все запросы к серверам контента / приложений, стоящим за ним, мы рекомендуем, чтобы рабочий процесс работал все время. (Тем не менее, если есть постоянный поток трафика, рабочий процесс будет работать все время, независимо от этого значения, т.е. он не будет бездействовать в течение 20 минут.) "
Также не забудьте отключить повторное использование приложения по умолчанию.
По умолчанию ARR DefaultAppPool будет иметь таймаут = 20 и повторное использование ~ фиксированные интервалы = 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