Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

HTTP Error 503.2 - Service Unavailable. The serverRuntime@appConcurrentRequestLimit setting is being exceeded

I have a intranet SiteCore website set up on IIS 7 which randomly throws the following error message

    HTTP Error 503.2 - Service Unavailable
    The serverRuntime@appConcurrentRequestLimit setting is being exceeded.

To fix this issue, I have made following changes

  • Increased the Queue Length of application pool myrjetAppPool from 1000 to 65535.
  • Modified Machine.Config to increase requestQueueLimit property of ProcessModel element to 100000
  • Increased appConcurrentRequestLimit to 10000 by running

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

But I'm still getting the same error. ANy help is greatly appreaciated.

like image 259
Phoenix Avatar asked Mar 19 '12 17:03

Phoenix


2 Answers

You might check to see where all your threads are going. We had occurrences where threads for Media Library assets were hanging and blocking up the queue.

In IIS Manager, select the server node from the tree, then the "Worker Processes" feature icon, then right-click the application pool of interest and select "View current requests". You might find something is getting stuck. I sometimes hit F5 on this screen a few dozen times in very quick succession to see the rate the requests are going through (of course Performance Monitor is better for viewing metrics but it won't tell you what URLs are being processed).

like image 166
Richard Hauer Avatar answered Oct 22 '22 05:10

Richard Hauer


Investigate references in the linked url to 'MaxConcurrentReqeustsPerCPU' which you may need to set by creating a new registry key, depending on your OS and framework.

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

As already commented - check the actual concurrent request count using performance counters to determine which limit you're hitting i.e. it could be a limit of 5000 or maybe 12 (per cpu).

Edit: I realise this may look like I'm talking about a different setting entirely, but I believe there is overlap here.

like image 22
Paul George Avatar answered Oct 22 '22 06:10

Paul George