Iis HTTP错误503.2-服务不可用。这个serverRuntime@appConcurrentRequestLimit正在超出设置

Iis HTTP错误503.2-服务不可用。这个serverRuntime@appConcurrentRequestLimit正在超出设置,iis,iis-7,sitecore,Iis,Iis 7,Sitecore,我在IIS 7上设置了一个intranet SiteCore网站,它随机抛出以下错误消息 HTTP Error 503.2 - Service Unavailable The serverRuntime@appConcurrentRequestLimit setting is being exceeded. 为了解决这个问题,我做了以下更改 将应用程序池myrjetAppPool的队列长度从1000增加到65535 修改Machine.Config以将ProcessModel

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

    HTTP Error 503.2 - Service Unavailable
    The serverRuntime@appConcurrentRequestLimit setting is being exceeded.
为了解决这个问题,我做了以下更改

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

    C:\Windows\System32\inetsrv\appcmd.exe set config /section:serverRuntime /appConcurrentRequestLimit:100000
    

但我还是犯了同样的错误。非常感谢您的帮助。

根据您的操作系统和框架,您可能需要通过创建新的注册表项来设置“MaxConcurrentRequestSpercpu”链接url中的引用

如前所述-使用性能计数器检查实际并发请求计数,以确定您达到的限制,即可能是5000或12(每个cpu)的限制


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

您可以查看所有线程的去向。我们遇到媒体库资产的线程挂起并阻塞队列的情况


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

该服务器获得了多少流量?请查看该应用程序池的性能计数器,并告诉我们您发现了什么。@PaulGeorge对于延迟表示抱歉,实际上开发人员发现该包存在问题,因为某个页面每天收到200万个请求,这导致了该问题。一旦开发人员解决了这个问题,事情就迎刃而解了。另一种选择是将appConcurrentRequestLimit直接添加到单个web.config,而不是整个IIS配置,这样您就可以单独控制每个应用程序/网站。只需确保此路径位于web.config:。。。如果它抛出错误,您可能必须使用“appcmd.exe unlock config/section:serverRuntime”解锁该节