为什么 Web Farm Framework 一直将我的 WFE 标记为不健康?

为什么 Web Farm Framework 一直将我的 WFE 标记为不健康?

每隔几个小时,Web Farm Framework 就会因 502 错误而导致我的农场关闭,并且农场中的 2 个 WFE 被标记为不健康。

我没有在“健康监测”中设置验证 URL,如果我手动“使服务器可用”,则在接下来的几个小时内一切都会正常,然后情况还是一样。

WFF 正在对 ASP.NET 应用程序进行负载平衡。我如何才能找出它们被标记为不健康的原因,或者只是禁用健康检测,以便 WFE 仅在部署错误时脱机?

编辑:这是截至昨天 IIS.net 上的最新 Web Farm Framework。

答案1

我想我找到了答案。如果您回收 ARR 应用程序池,则在尝试通过 WFF 控制器(即 http 负载平衡器)访问辅助服务器时会收到 502.4 错误。我将空闲超时设置为 0 分钟以禁用应用程序池回收。

http://forums.iis.net/t/1158399.aspx

“从功能上讲,这个值对 ARR 的工作方式没有影响。空闲超时旨在关闭工作进程以释放更多内存。(默认值为 20 分钟。例如,如果您在多个应用程序池中有多个站点/应用程序,并且其中一个没有任何活动,则 IIS 将关闭工作进程 - 以便其他进程/等可以使用计算机上的资源。)

由于 ARR 将所有请求代理到其背后的内容/应用程序服务器,我们建议工作进程始终运行。(也就是说,如果流量恒定,那么工作进程将始终运行,与该值无关。即它不会闲置 20 分钟。)”

答案2

还要记得禁用应用程序的默认回收。

默认情况下,ARR DefaultAppPool 的超时时间为 20,回收时间为 ~ 固定间隔时间为 1740。

设置超时 = 0 并取消选中回收 ~ 固定间隔。

答案3

另外,在经历了多次令人沮丧的 502 中断之后,我还发现了一件事:

http://forums.iis.net/t/1183539.aspx/1

“我崩溃了,并向微软支付了技术支持费用,以解决这个问题。对于出现问题的服务器场,serverAutoStart 被设置为 false。这是在 C:\Windows\System32\inetsrv\config\applicationHost.config 文件中。”

对于我们来说,这个设置也是 false,因为将其设置为 true 后,我们就不会再遇到 502 错误

在 64 位机器上更改 applicationhost.config 时要注意的另一个小问题:

https://stackoverflow.com/questions/5696801/iis-7-5-applicationhost-config-file-is-not-being-updated

相关内容