【问题标题】:Random 500 errors on IISIIS 上的随机 500 错误
【发布时间】:2019-03-11 09:11:24
【问题描述】:

我一直在开发一个向客户端提供一些 Web 服务的应用程序。 MVC 应用程序基于 .Net 4.5 框架构建。一切正常,直到我们查看了客户生成的响应统计数据,我们可以看到我们没有 100% 响应。统计数据显示,响应每隔一天下降到 90%-95%。

检查日志

我做的第一件事是检查我们的应用程序日志,其中没有发现任何异常记录。我们在应用程序中记录所有(未处理的)异常,这通常会导致错误的 HTTP 状态代码,因此没有发现此类异常让我认为请求根本没有到达应用程序。下一步是检查 IIS 访问日志,在那里我找不到任何 500 错误。我的印象是网络发生了一些事情,导致了 500 次。 经过进一步调查,我意识到这些是由 IIS 服务器生成的。我通过在 IIS 上设置失败的请求跟踪发现了这一点,过了一会儿我发现记录了以下错误:

ModuleName - ManagedPipelineHandler 通知 - EXECUTE_REQUEST_HANDLER HttpStatus - 500 HttpReason - 检索错误 数据 HttpSubStatus - 0 ErrorCode - 操作完成 成功地。 (0x0)

我查看了各种 stackoverflow 帖子,但没有任何帮助。我想这是因为我们每分钟发出的请求数约为每分钟 200 个请求)。但我得到了 90-95% 请求的响应。

Attached detailed error log here

【问题讨论】:

  • 日志中有 ASP.NET 500 错误。这些是否显示在服务器上的“事件日志”中?我假设您自己的错误记录失败。您可以让服务器返回完整的错误详细信息并制作客户端日志吗?或者,测试并修复服务器端日志记录。引入人为故障并确保已记录。
  • “我们在我们的应用程序中记录所有(未处理的)异常”,如何?像ELMAH的东西? elmah.github.io
  • 是的,通过 Elmah 登录。
  • @usr 记录所有失败。我可以在日志中看到其他故障。但是,我相信这些甚至在他们到达应用程序之前就已经发生了。因此我们在 IIS 访问日志/应用程序日志中看不到。
  • 那么请提供完整的例外情况。问题中的信息基本上只是说“发生了错误”,这并没有说太多。

标签: asp.net .net iis


【解决方案1】:

我知道错误是什么。 .Net 服务器一开始就没有收到这些请求,这些请求在网络中丢失了。有一个 oracle 网关,它有问题并且杀死了很少的请求。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-16
    • 1970-01-01
    • 2016-08-24
    • 1970-01-01
    • 2016-08-02
    • 2013-04-04
    相关资源
    最近更新 更多