Esc*_*ar5 5 iis request request-queueing asp.net-web-api iis-8
我目前正在生产环境中遇到一些问题,经过一些调查后,我发现很多请求在应用程序池的工作进程中排队.常见的是,长时间排队的每个请求都是web api请求,我在应用程序中同时使用MVC和Web API.
请求排队大约3个小时,当应用程序池被回收时,它们立即开始排队.
它们都处于ExecuteRequestHandler状态
我应该继续挖掘哪些想法?
您的请求可能因多种原因而停滞:
为了找出您的请求正在做什么,首先获取需要很长时间的请求的 url。
您可以在 cmd 行中执行此操作,如下所示
c:\windows\system32\inetsrv\appcmd list requests
Run Code Online (Sandbox Code Playgroud)
如果从 url 和查看代码看不明显,您需要在服务器上执行 w3wp.exe 的进程转储。有了进程转储后,您需要将其加载到windbg 中,以便分析占用所有cpu 周期的内容。覆盖 windbg 非常重要,但这里简要介绍了您需要做的事情:
有很多关于使用windbg 的博客。这是一个例子。Tess Ferrandez 的博客是分析这些类型问题的重要资源。
| 归档时间: |
|
| 查看次数: |
6284 次 |
| 最近记录: |