我一直在研究为客户端提供一些Web服务的应用程序。 MVC应用程序基于.Net 4.5框架构建。一切正常,直到我们查看了客户生成的响应统计信息,我们才看到我们没有100%响应。统计数据显示,每隔一天响应率下降到90%-95%。
检查日志
我要做的第一件事是检查我们的应用程序日志,在该日志中我找不到记录的任何异常。我们在应用程序中记录了所有(未处理的)异常,这通常会导致错误的HTTP状态代码,因此没有找到这样的异常使我认为请求根本没有到达应用程序。下一步是检查IIS访问日志,在那里我找不到任何500个错误。我给人的印象是网络正在发生某些问题,这导致了500多个问题。 经过进一步调查,我意识到这些是由IIS服务器生成的。我是通过在IIS上设置“失败请求跟踪”来找到的,过了一会儿我发现记录了以下错误:
ModuleName-ManagedPipelineHandler通知- EXECUTE_REQUEST_HANDLER HttpStatus-500 HttpReason-错误检索 数据HttpSubStatus-0错误代码-操作已完成 成功。 (0x0)
我看过各种stackoverflow帖子,但没有任何帮助。我想这是因为每分钟我们没有发出大约200个请求的请求)。但我收到90-95%的请求的回复。
答案 0 :(得分:0)
我发现了错误所在。 .Net服务器最初没有收到这些请求,这些请求在网络中丢失了。有一个甲骨文网关,它有故障并且杀死了很少的请求。