503-Service Unavailable

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

HTTP 503 errors are returned more often in IIS 6.0 than in earlier versions of IIS. Typically, the HTTP 503-Service Unavailable error is returned directly from HTTP.sys when there is a problem with getting the request up to the worker process. However, this error can occur for a variety of reasons, as listed in Table 11.11   HTTP 503 Errors from HTTP.sys.

Table 11.11 HTTP 503 Errors from HTTP.sys

Reason String Text in HTTP.sys Error Log Cause(s) of Error

Service unavailable.

N/A

  • IIS cannot start any new worker processes because of limited system resources or because starting a new worker process would exceed the DemandStartThresholdproperty.

  • Bandwidth throttling is enabled, but the filter addition fails.

  • The control channel or internal configuration group for the URL is inactive.

  • The send for a request that was serviced from the cache failed (typically under low memory conditions).

Too many users.

ConnLimit

The connection limit for the site or server as a whole has been reached.

Application taken offline.

AppOffline

The application pool has been put into Rapid Fail Protection and has been disabled automatically.

Application request queue full.

QueueFull

The application pools request queue has been exceeded and the request cannot be queued.

Administrator has taken application offline.

Disabled

The administrator has stopped the application pool.

Application automatically shut down due to administrator policy.

AppShutdown

The application pool has been shut down because it exceeded its CPU usage limit.

Request timed out in app pool queue.

AppPoolTimer

The application pool is too busy to handle the request. The request has, therefore, timed out in the queue and has been returned with a 503 error.

For security purposes, the description that is sent back to the client (Service Unavailable) does not fully describe the error. HTTP.sys keeps its own error log. Requests that generate 503 errors never pass into user mode; therefore, the HTTP error log is the only place these problems are documented. To troubleshoot the cause of the 503 error, use the following procedure.

To check for possible causes of HTTP 503 errors

  1. Check the HTTP.sys error log for information about the error being returned. See Table 11.11   HTTP 503 Errors from HTTP.sys for error descriptions.

  2. Check the event logs. Typically, the event logs contain more detailed information about the cause of a 503 error.

  3. Verify that health/recycling issues are not causing the error.

  4. Check for server binding conflicts.

  5. Check the IP inclusion list for errors.