Saturday, August 9, 2008

Application Isolation modes in IIS 6.0

IIS 6.0 have two types of isolation mode:
  1. Worker process isolation mode
  2. IIS 5.0 isolation mode
In IIS 6.0, application isolation is configured differently for each of the two IIS application isolation modes. Both modes rely on the HTTP protocol stack (also referred to as HTTP.sys) to receive Hypertext Transfer Protocol (HTTP) requests from the Internet and return responses. HTTP.sys resides in kernel mode, where operating system code, such as device drivers, runs. HTTP.sys listens for, and queues, HTTP requests. For more information about HTTP.sys, see HTTP Protocol Stack.

The new request-processing architecture and application isolation environment enables individual Web applications, which always run in user mode, to function within a self-contained worker process. A worker process is user-mode code whose role is to process requests, such as returning a static page or invoking an Internet Server API (ISAPI) extension or filter. Worker processes use HTTP.sys to receive requests and send responses over HTTP. A worker process is user-mode code whose role is to process requests, such as returning a static page or invoking an Internet Server API (ISAPI) extension or filter. Worker processes use HTTP.sys to receive requests and send responses over HTTP. For more information about worker processes, see Worker Processes.

Worker process isolation mode:
Process can belong to either Kernel mode or user mode. Kernel mode runs all operating system related code as well as device drivers etc. HTTP.sys runs as kernel mode process. This process always listens to client requests. It also uses cache to store the responses. When ever request arrives at HTTP.sys, it first checks in cache. if response is already present then HTTP.sys will send back the response. otherwise it will send the request in queue. Here since IIS 6 is running under worker process isolation mode, each application pool has its separate request queue. An application pool corresponds to one request queue within HTTP.sys and one or more worker processes.




IIS 5 isolation mode:
This mode of request processing is exactly similar to worker process isolation mode. The only difference is here HTTP.sys have only one request queue instead of having separate request queues. When a server is working in IIS 5.0 isolation mode, application pools, recycling, and health monitoring features are unavailable.





Get more details on isolation modes in IIS 6

If a defective application causes the user-mode worker process to terminate unexpectedly, HTTP.sys continues to accept and queue requests, provided that the WWW service is still running, queues are still available, and space remains in the queues.

When the WWW service identifies an unhealthy worker process, it starts a new worker process if outstanding requests are waiting to be serviced. Thus, although a temporary disruption occurs in user-mode request processing, an end user does not experience the failure because TCP/IP connections are maintained, and requests continue to be queued and processed.

Reference

No comments: