Modifying the ASP.NET Request Queue Limit

Topic Last Modified: 2011-02-24

When ASP.NET is queried, the request for service is carried over, and queued within, a pipe between Internet Information Services (IIS) and the ASP.NET worker process. (ASP.NET runs in its own process - this is different from classic ASP, which runs in the same process as the IIS service.) By default, this queue can contain no more than 5,000 requests. If there are more than 5,000 requests, users receive a "503 - Service Unavailable" error and are denied service.

Although the default value is sufficient for relatively small numbers of Communicator Web Access (2007 R2 release) users, the request queue limit can easily be exceeded as the number of users approaches 4,500. Because of this, you might want to increase the request queue limit to 15,000, which is a task that you can implement by editing the machine.config file for .NET Framework. By setting the request queue limit to 15,000, you can provide a queue large enough to handle all of your client requests. In addition, if the server is running on Windows Server 2008, you need to configure the appConcurrentRequestLimit setting to support more than 5,000 connections.

To modify the ASP.NET request queue limit

  1. Click Start and then click Run.

  2. In the Run dialog box, type notepad %systemroot%\Microsoft.Net\Framework64\v2.0.50727\CONFIG\machine.config, and then click OK.

  3. Locate the processModel element that looks like this: <processModel autoConfig="true" />

  4. Replace the processModel element with the following value: <processModel enable="true" requestQueueLimit="15000" />

  5. Save and close the Machine.config file.

  6. For Windows Server 2008, in the Run dialog box, type appcmd.exe set config /section:serverRuntime /appConcurrentRequestLimit:<#of users * 1.5>.