Updated: August 22, 2005
Applies To: Windows Server 2003, Windows Server 2003 R2, Windows Server 2003 with SP1
IIS 6.0 is more reliable than previous versions due to a new request processing architecture that provides an application isolation environment which enables individual Web applications to function within their own, self-contained worker process. The following are just a few of the improvements that make IIS 6.0 a more reliable Web administration environment.
Modes of Operation — New
You can configure IIS 6.0 to run in either worker process isolation mode, which runs all processes in an isolated environment, or IIS 5.0 isolation mode, in which you can run Web applications that are not compatible with worker process isolation mode. In worker process isolation mode, you can isolate anything — from an individual Web application to multiple sites — in its own self-contained World Wide Web Publishing Service (WWW service) worker process, preventing one application or site from stopping another. Separating applications or sites into separate processes simplifies a number of management tasks.
Worker Processes — New
In worker process isolation mode, worker processes handle all user code and are completely isolated from the core WWW service, Inetinfo.exe. Because these ISAPI applications run separately from the WWW service, an application failure prevents all services hosted by the WWW service from failing. Only the worker process that hosts the ISAPI application is affected. Worker processes can be configured to run on specific CPUs, which allows you greater control of balancing system resources.
Multiple Application Pools — New
Worker process isolation mode allows customers to create multiple application pools, where each application pool can have a unique configuration. Performance and reliability are enhanced because these application pools receive their requests directly from the kernel instead of from the WWW service.
Application Pool Assignments — New
An application pool can be configured in worker process isolation mode to serve anything from one Web application, to multiple applications, to multiple sites. Assigning an application to an application pool allows you to further isolate applications, and is as easy as configuring what pool that application should be routed to in the metabase. Sites, by default, are considered to be a simple application, where the root namespace "/" is configured as an application.
Application Pool Queue Length Limits — New
When running in worker process isolation mode, you can choose to limit the number of requests that should be queued for each application pool in the HTTP protocol stack (HTTP.sys). This allows you to fine-tune the environment in which your applications run by managing application pool requests and system resources.
Web Garden Configuration on Multi-Processor Computers — New
An application pool is associated with a specified worker process. For improved reliability, you can configure a Web garden, which is an application pool that has multiple worker processes serving the requests routed to that pool. If one worker process fails, another worker process can continue to process requests. On a computer with multiple processors, you can obtain even greater reliability by establishing affinity between worker processes and specific processors. Using processor affinity, a lock on one process does not block other processes running on the multiprocessor computer.
Kernel-Mode Queuing — New
The IIS 6.0 kernel-mode driver, HTTP.sys, places requests destined for application pools in a queue if a worker process in that pool fails. Because the WWW service manages the processes, the WWW service can initialize another process without causing an interruption in service to users. Requests are sent from the queue until the queue is empty or until the WWW service is stopped.
Health Monitoring — New
In worker process isolation mode, the WWW service monitors the health of worker processes and, if the process is unresponsive, terminates the process and replaces it with another. Health monitoring helps keep processes running and provides users with more reliable service.
Idle Process Timeout — New
You can control system resources by configuring application pools in worker process isolation mode to have their worker processes request a shutdown if the worker processes are idle for a configurable amount of time, such as minutes, hours, or days. You can then request a forced application startup when IIS receives a request for that application pool.
Rapid-Fail Protection — New
You can configure IIS in worker process isolation mode to use rapid-fail protection to automatically disable an application pool when a particular application pool suffers consecutive multiple failures.
Orphan Worker Process — New
A worker process that fails to respond to queries from the WWW Service Administration and Monitoring component can be configured in worker process isolation mode to "separate" from the application pool instead of being terminated, as a new worker process is started in its place. Because the process is still running, you can perform diagnostics on it. For more information, see Application Pool Health.
Recycling Worker Processes — New
You can configure IIS, in worker process isolation mode, to periodically restart worker processes in an application pool. When a new process is initialized, it takes over any requests to that application pool while the former worker process finishes processing its requests from the queue. Recycling worker processes allows you to manage troublesome applications, such as those with memory leaks, without interrupting service to your users.