【问题标题】:Azure web app worker process recycling unexpectedlyAzure Web 应用工作进程意外回收
【发布时间】:2016-08-30 14:23:36
【问题描述】:

我们有一个在 Azure 标准中型应用服务计划中运行的 ASP.NET MVC 网站。

有时工作进程会在没有警告的情况下被回收。

我将代码添加到global.asax.cs 中的Application_End 以记录HostingEnvironment.ShutdownReason

记录的原因是HostingEnvironment,据我了解,这意味着托管环境启动了关机。

没有记录应用程序错误或事件。应用程序设置中的“始终开启”设置为“开启”。

如何确定关机的根本原因?

【问题讨论】:

  • 仅供参考: 如果进程不正常存在,Application_End 将不会触发。换句话说,如果应用程序崩溃,它不会触发。

标签: asp.net azure azure-web-app-service


【解决方案1】:

我对 Azure 不太熟悉,所以这可能无关紧要,但默认情况下 IIS 每 29 小时回收一次应用程序池,除非您另有指定。

更多信息here

【讨论】:

【解决方案2】:

您有没有在网络日志中发现任何 500.121 错误?我遇到了 w3wp 进程内部的死锁问题,导致一段时间 I/O 为零。事实证明,azure 会在大约 4 分钟内关闭任何具有零 I/O 的进程。

日志中的条目会跳出来。通常列出的大多数 W3C 属性都是空的(包括客户端 IP!)

最终变成了一个代码错误。

【讨论】:

    【解决方案3】:

    按照here 的描述添加更详细的关机原因日志记录后, 我发现记录了以下详细信息:

    "Shutdown message: Change Notification for critical directories.
    File Change Notification Error in App_LocalResources
    HostingEnvironment initiated shutdown
    Change Notification for critical directories.
    File Change Notification Error in App_LocalResources
    Change Notification for critical directories.
    File Change Notification Error in App_LocalResources
    Change Notification for critical directories.
    File Change Notification Error in App_LocalResources
    Change Notification for critical directories.
    File Change Notification Error in App_LocalResources
    Change Notification for critical directories.
    File Change Notification Error in App_LocalResources
    Change Notification for critical directories.
    File Change Notification Error in App_LocalResources
    Change Notification for critical directories.
    File Change Notification Error in App_LocalResources
    CONFIG change
    CONFIG change
    

    这让我相信 Azure 中发生了一些暂时性问题,导致 ASP.NET 更改通知失败,从而触发应用程序重新启动。 this question 中描述了类似的问题。

    作为一种解决方法,我在 web.config 中的 httpRuntime 元素中添加了 fcnMode = "disabled"。根本原因仍然未知。链接问题中接受的答案表明,这种情况下的原因是北欧数据中心的 SMB 错误。肯定有其他原因,因为差不多 3 年后我在美国东部数据中心遇到了这个问题。

    【讨论】:

      猜你喜欢
      • 2015-12-28
      • 1970-01-01
      • 2010-12-03
      • 2011-08-18
      • 2018-07-07
      • 2012-02-05
      • 2011-07-15
      • 2016-09-20
      • 1970-01-01
      相关资源
      最近更新 更多