Asp.net 在我们的IIS日志中,为什么当executionTimeout为110秒时,请求持续5分钟甚至更长时间?
我们的服务器性能有一些问题,在分析IIS请求日志时,我们看到许多请求需要几分钟才能完成 当ASP.NETAsp.net 在我们的IIS日志中,为什么当executionTimeout为110秒时,请求持续5分钟甚至更长时间?,asp.net,asp.net-mvc,performance,iis,iis-7.5,Asp.net,Asp.net Mvc,Performance,Iis,Iis 7.5,我们的服务器性能有一些问题,在分析IIS请求日志时,我们看到许多请求需要几分钟才能完成 当ASP.NEThttpRuntime设置元素中的executionTimeout的默认值为110秒时,这怎么可能呢?从关于执行超时的说法中[emphasis mine]: 指定在ASP.NET自动关闭请求之前允许执行的最大秒数 这正是我们希望看到的行为,但下面的日志条目使我们相信有问题,并且这些请求在配置(或默认)超时后不会终止: 我还检查了对HttpContext.Server.ScriptTimeou
httpRuntime
设置元素中的executionTimeout
的默认值为110秒时,这怎么可能呢?从关于执行超时的说法中[emphasis mine]:
指定在ASP.NET自动关闭请求之前允许执行的最大秒数
这正是我们希望看到的行为,但下面的日志条目使我们相信有问题,并且这些请求在配置(或默认)超时后不会终止:
我还检查了对HttpContext.Server.ScriptTimeout的调用的代码库,但在一些罕见的情况下,只有两个调用被执行,并且最多被分配600(秒)。如果不了解更多关于应用程序和环境的信息,很难说。然而,这一联系可能有助于解释为什么它会高于预期 具体而言: 从IIS 6.0开始,耗时字段通常包括网络时间。在HTTP.sys将值记录到time take字段之前,HTTP.sys通常会等待客户端确认最后一次响应数据包发送操作,或者HTTP.sys等待客户端重置底层TCP连接。因此,当通过慢速网络连接向客户端发送一个或多个大型响应时,所用时间字段的值可能比预期的要多 注意如果下列条件之一为真,则“耗时”字段中的值不包括网络时间:
- 响应大小小于或等于2 KB,并且响应大小来自内存
- 使用TCP缓冲。使用HTTPAPI.dll的应用程序可以设置HTTP_SEND_RESPONSE_FLAG_BUFFER_DATA FLAG以启用上的TCP缓冲 Windows Server 2003 Service Pack 1及更高版本。这允许服务器 无需等待即可将所有响应数据发送到客户端 用于客户的相应确认
希望对您有所帮助。您知道在ASP.NET WebForms中,注释部分的第二个案例是否正确吗?我试图评估你的推荐信是否真的是问题的原因。老实说,我不完全确定。这里有一篇文章解释了设置更多一点。如果我不得不猜测的话,我会说应用程序取决于IIS的配置方式,默认情况下应用程序类型(MVC或WebForms)并不麻烦。但是我找不到任何关于ASP.NET是否使用TCP缓冲发送其响应的提示…我们使用一个带有Kibana的ElasticSearch节点作为前端。这就是截图的来源。装载对我来说很好…太好了!对于获取最慢的请求:
ElasticSearch节点是否可以在Windows Server中安装Kibana
?有关于ElasticSearch和Kibana配置的提示和技巧吗?