Friday, August 8, 2008

Internet Information Services (IIS) 5: Isolation modes and Request Processing Architecture

Internet Information Services 5.0 enables you to create and manage Web sites. It is the name given to the web server that is built into Microsoft Windows Server products such as Windows NT 4.0, Windows 2000, and Windows 2003 server. IIS is a high performance web server that is built and optimized to deliver interactive web server applications for eCommerce and other uses.IIS is available in different versions. We will look IIS 6.0 & IIS 7.0


Before looking at the architecture of IIS 6.0, lets have a look at the different isolation mode & process level view of IIS 5.

IIS 5 runs in three different isolation modes:

1. In-process

2. Pooled

3. Out of process

In-process isolation mode: In this mode, all the applications run in the same process as that of the Web server (inetinfo.exe)



Pooled isolation mode:The IIS 5.0 default mode is Pooled, in which the Web server (Inetinfo.exe) runs in its own process and all other applications will run in one single-pooled process (dllhost.exe).

Out of Process isolation mode: You can set high-priority applications to run as Isolated, which creates another instance of dllhost.exe. Even though this out-of-process isolation allows you to increase the fault-tolerance of your Web server, it is slow in terms of performance. In out of process isolation mode separate dllhost.exe is created. Each dllhost.exe file runs high priority applications.

Request Processing in IIS 5.0:

Processes runs in two modes: Kernel mode & user mode. Following diagram illustrates how request processing are handled in IIS 5.0. Client Request comes to server. These requests basically are HTTP requests. Winsock control always listens to client requests using Windows Socket APIs. As soon as new HTTP requests arrives it forwards it to IIS web server i.e. inetinfo.exe process. (overhead is context switching and hence performance degradation). Now inetinfo.exe will take care of entire processing. The response will be again given back to client using winsock control only.

No comments: