【问题标题】:IIS 8: random "(503) Server Unavailable Server Too Busy" errorsIIS 8:随机“(503)服务器不可用服务器太忙”错误
【发布时间】:2016-06-08 17:02:04
【问题描述】:

我有一个运行 Windows Server Core 2012 R2 的 IIS 服务器。这台服务器将取代我们已经拥有的另一台服务器,它扮演着同样的角色。服务器托管 80 个 ASP.Net 网站,所有网站都在同一个应用程序池中。队列限制为 1000(默认)。

我们有自制的监控程序,定期依次向每个站点的/login.aspx 页面发出请求,以检查它是否已启动。

在这台新服务器上,监控程序经常遇到(503) Server Unavailable Server Too Busy 错误。

  • 发生错误时,事件日志中不会记录有关 IIS 或 ASP.Net 错误的任何内容。
  • 我知道工作进程不会崩溃或被回收(w3wp 保持相同的 PID)。
  • 使用失败的请求跟踪我找不到任何有价值的东西(失败的请求已记录但我无法在日志详细信息中找到原因)。
  • 使用 Perfmon 我确认排队请求的数量仍然很低。

如果我将监控程序修改为在每个站点之间休眠 1 秒,那么我就不会再收到错误消息了。

有什么想法吗?

【问题讨论】:

标签: asp.net iis


【解决方案1】:

我们找到了原因。不同之处在于我们的新 IIS 服务器从 UNC 路径提供内容。控制 ASP.NET 如何监视文件和目录的默认设置在使用 UNC 时效率低下。


.Net 4.0:注册表

不久前,Microsoft 发布了一个修补程序来支持另一种监视策略,但他们没有将其设为默认值。

参考:https://support.microsoft.com/en-us/kb/911272。您无需在最新版本的 Windows 上安装此修补程序。

您可以通过将注册表项 HKLM\SOFTWARE\Wow6432Node\Microsoft\ASP.NET\FCNMode 更改为 2 来更改文件更改通知的行为。

.Net 4.5:配置设置

现在配置中有一个设置来控制文件更改通知的行为。

参考:https://msdn.microsoft.com/en-us/library/system.web.configuration.fcnmode(v=vs.110).aspx


在我们的案例中,我们使用 .Net 4.0 并设置注册表项解决了该问题。

然而,这仍然是一个谜。为什么低效的文件更改通知会导致“503 错误”被发送到客户端,而 Web 服务器日志中没有任何问题的痕迹?如果有人有解释,我会很感兴趣。

【讨论】:

    猜你喜欢
    • 2016-01-18
    • 1970-01-01
    • 2017-03-26
    • 2017-01-14
    • 2021-06-16
    • 2011-07-22
    • 2012-04-23
    • 2011-08-04
    • 1970-01-01
    相关资源
    最近更新 更多