HTTP错误503.2 - 服务不可用.正在超出serverRuntime @ appConcurrentRequestLimit设置

Pho*_*nix 12 iis iis-7 sitecore

我在IIS 7上设置了Intranet SiteCore网站,随机抛出以下错误消息

    HTTP Error 503.2 - Service Unavailable
    The serverRuntime@appConcurrentRequestLimit setting is being exceeded.
Run Code Online (Sandbox Code Playgroud)

要解决此问题,我进行了以下更改

  • 将应用程序池myrjetAppPool的队列长度从1000增加到65535.
  • 修改了Machine.Config,将ProcessModel元素的requestQueueLimit属性增加到100000
  • 通过运行将appConcurrentRequestLimit增加到10000

    C:\Windows\System32\inetsrv\appcmd.exe set config /section:serverRuntime /appConcurrentRequestLimit:100000
    
    Run Code Online (Sandbox Code Playgroud)

但我仍然得到同样的错误.任何帮助都非常有用.

Ric*_*uer 6

您可以查看所有线程的去向.我们曾经出现过媒体库资产的线程挂起并阻塞队列的情况.

在IIS管理器中,从树中选择服务器节点,然后选择"工作进程"功能图标,然后右键单击感兴趣的应用程序池并选择"查看当前请求".你可能会发现有些事情陷入困境.我有时会在这个屏幕上快速连续几十次点击F5以查看请求的速率(当然,性能监视器更适合查看指标,但它不会告诉您正在处理的URL).


Pau*_*rge 4

调查链接网址中对“MaxConcurrentReqeustsPerCPU”的引用,您可能需要通过创建新的注册表项来设置该引用,具体取决于您的操作系统和框架。

https://learn.microsoft.com/en-us/archive/blogs/tmarq/asp-net-thread-usage-on-iis-7-5-iis-7-0-and-iis-6-0

正如已经评论过的 - 使用性能计数器检查实际并发请求数,以确定您遇到的限制,即它可能是 5000 或 12(每个 cpu)的限制。

编辑:我意识到这可能看起来像是我在谈论完全不同的设置,但我相信这里有重叠。