每隔几个小时,Web Farm框架就会让我的农场出现502错误,农场中的2个WFE将被标记为“不健康”。
我没有在运行状况监测中设置validationURL,如果我手动“使服务器可用”,一切都很好,再过几个小时,那么同样的事情。
WFF负载平衡ASP.NET应用程序。 我怎样才能找出为什么他们被标记为不健康,或者只是禁用健康检测,所以WFE将只会在部署错误中脱机?
编辑:这是最新的Web.net框架在IIS.net截至昨天。
我想我find了答案。 当您尝试通过WFF控制器(这是http负载平衡器)访问辅助服务器时,您回收了ARR应用程序池,您将收到502.4错误。 我将空闲超时设置为0分钟以禁用应用程序池回收。
从http://forums.iis.net/t/1158399.aspx
“在function上,这个值对ARR的工作方式没有任何影响,空闲超时是为了释放更多的内存而devise的,这个默认值是20分钟,例如,如果你有多个应用程序池中的多个站点/应用程序,如果其中一个没有任何活动,IIS将closures工作进程 – 以便其他进程/ etc可以使用该计算机上的资源。
由于ARR将所有请求代理到其后面的内容/应用程序服务器,因此我们build议工作进程始终运行。 (也就是说,如果有一个恒定的stream量,那么这个工作进程就会一直运行,不pipe这个值如何,也就是说不会在20分钟内空闲)。
还记得要禁用应用程序的默认回收。
默认情况下,ARR DefaultAppPool的Timeout = 20和Recycling〜Fixed Intervals = 1740。
设置超时= 0并取消选中回收〜固定间隔。
还有一件事,我发现在502次宕机之后,
http://forums.iis.net/t/1183539.aspx/1
“我分手了,并且支付了MSFT的一个支持事件来帮助解决这个问题。serverAutoStart对于有问题的服务器场被设置为false,这是在C:\ Windows \ System32 \ inetsrv \ config \ applicationHost.config文件“。
这个设置对我们来说也是错误的,因为把它设置为true,我们没有502
在64位机器上更改applicationhost.config时需要注意的另一点小巫术:
https://stackoverflow.com/questions/5696801/iis-7-5-applicationhost-config-file-is-not-being-updated