Tuning AspRequestQueueMax

Applies To: Windows Server 2003, Windows Server 2003 with SP1

The goal of tuning the AspRequestQueueMax Metabase Property is to ensure good response time while minimizing how often the server sends the HTTP 503 error (Server Too Busy) to clients when the ASP request queue is full. If the value of AspRequestQueueMax is too low, the server will send the HTTP 503 error too often. If the value of AspRequestQueueMax is too large, users might perceive that the server is not responding when in fact their request is waiting in the queue. By watching the queue during periods of high traffic, you should see a pattern of ups and downs. Make note of the peak value, and set the value of AspRequestQueueMax just above the peak value. Use the queue to handle short-term spikes, ensure response time, and throttle the system to avoid overload when sustained, unexpected spikes occur. If you do not have data for adjusting AspRequestQueueMax, a good initial setting seems to be a one-to-one ratio of queue to total threads. For example, if the AspProcessorThreadMax Metabase Propertyy is set to 25 and you have four processors (4  25 = 100 threads), set AspRequestQueueMax to 100 and tune from there.


After changing the value of AspRequestQueueMax, you will need to restart the WWW service. For more information about the IIS Metabase, see Working with the Metabase.