IIS架构详解

小微 科技IIS架构详解已关闭评论99字数 2931阅读模式
摘要1.概述由上可以看出,IIS 6.0的内核体系主要由如下三个组件构成:HTTP.SYS,W3SVC以及W3Core。作为一个全新的架构,IIS6.0有如下让人值得关注的新特点:Ø ...

1.概述

由上可以看出,IIS 6.0的内核体系主要由如下三个组件形成:HTTP.SYS,W3SVC和W3Core。作为一个全新的架构,IIS6.0有如下让人值得关注的新特色:文章源自微观生活(93wg.com)微观生活-https://93wg.com/20914.html

Ø HTTP.SYS。全新的内核监听模式。文章源自微观生活(93wg.com)微观生活-https://93wg.com/20914.html

Ø IIS6.0新的利用程序隔离模式-工作过程隔离模式。文章源自微观生活(93wg.com)微观生活-https://93wg.com/20914.html

Ø 利用程序池。文章源自微观生活(93wg.com)微观生活-https://93wg.com/20914.html

Ø 工作过程。文章源自微观生活(93wg.com)微观生活-https://93wg.com/20914.html

Ø Web管理服务,并将要求转发给相关的web利用程序处理,最后,HTTP.SYS将处理结果返回给用户中,除了了运行上面所说的四个服务外,它还可以运行第三方代码,也就是web利用程序。文章源自微观生活(93wg.com)微观生活-https://93wg.com/20914.html

IIS 5.0文章源自微观生活(93wg.com)微观生活-https://93wg.com/20914.html

中,它的架构和各个过程之间的关系如下图所示:文章源自微观生活(93wg.com)微观生活-https://93wg.com/20914.html

(图6)IIS 5.0简单架构图文章源自微观生活(93wg.com)微观生活-https://93wg.com/20914.html

在IIS 5.0中,它提供了三个不同级别的利用程序维护,他们分别是:文章源自微观生活(93wg.com)微观生活-https://93wg.com/20914.html

Ø 初级别。IIS过程内,与IIS 1.0、IIS 2.0、IIS 3.0的单一结构同样,web利用程序作为web服务器过程来处理外,还将接管用户http要求的功能从W3SVC中分离了出来。接管用户http要求的功能现在由W3Core来实现。W3SVC仅负责对W3Core进行创立以及监控,再也不负责对用户http要求进行处理。因而,在处理用户的http要求的时候,内核模式下的HTTP.SYS直接监听用户的http要求,并将用户的http要求直接转发给W3Core。并由W3Core所管理的web利用程序来处理用户的http要求。

这一操作进程如下图所示:

用户要求的处理进程

通过这类方式,IIS6.0中处于内核模式下的HTTP.SYS直接与用户利用程序通讯。这就缩短了数据的要求、转发进程,提高了IIS的性能。

5.利用程序池5.1.概述

作为宿主程序,在利用程序池中存在着一个或者多个web利用程序,并且由一个或者多个工作过程来管理这些web利用程序。在W3SVC的监控以及管理下,利用程序池主要负责如下四方面的工作。

Ø 回收

Ø 性能

Ø 运行状态

Ø 标识

关于对这四方面的配置,可以在利用程序池的属性页对话框中进行。具体路径如下:开始菜单->管理工具->Internet信息服务管理器->利用程序池->属性。

5.2.利用程序池的回收功能

在工作过程隔离模式中,通过配置,IIS可以按期从新启动利用程序池中的工作过程。通过这类机制IIS可以更好地管理那些有过错的工作过程。在默许情况下,当IIS回收一个利用程序池的时候,它会使用一种称为overlapped recycle的回收技术。

在这类回收模式下,失败的工作过程将不会接管新的http要求,当它处理完存储在要求队列中的所有剩余的http要求后,这个过程则正常关闭;或者

为了避免服务中止,在失败的工作过程继续处理存储在要求队列中的剩余的要求的时候,IIS启动了新的工作过程,所有新的http要求都会由给这个新的工作过程处理。在此期间,TCP/IP连接不会丢失。

关于利用程序池在他方面的功能在前面的章节中已有详细的介绍,这里就再也不过量介绍了。

6.利用程序隔离模式6.1.概述

Ø WWW服务位于Inetinfoexe过程当中。所以WWW服务的不乱性也会影响到整个IIS的不乱性。

Ø 提供了三个不同级别的利用程序维护,即初级别,中级别,高档别。关于利用程序维护级别的详细情况,请见。。。。节。

Ø 存在过程之间相互通讯的问题,加大了系统开消。

IIS5.0中,对利用程序进行隔离的结构如下图所示:

IIS 5.0的利用程序隔离情况

当一个http要求到底之后,首先由TCPIP.SYS将要求传递给Inetinfo.exe中的WWW服务,然后再由WWW服务转发给DLLHost.exe过程中的web利用程序处理。在这里就存在了一个过程之间通讯的问题,必定会引发一些大的系统开消。

WWW服务仅仅负责对DLLHost.exe宿主过程地创立。当这些宿主过程创立终了后,WWW服务就不会再对它进行管理。

依据利用程序维护级别的不同,web利用程序的隔离程度也各不相同。在初级别的隔离模式中,web利用程序的运行效力最高,然而,因为它直接运行在WWW服务的过程当中,所以它对整个IIS的不乱性的影响也最大。在高档别的隔离模式中,每一一个web利用程序都运行于一个属于它的宿主过程(DLLHost.exe)中,尽管这个web利用程序的运行效力降低了,然而,因为它被隔离在一个特定的宿主过程当中运行,所以它对整个IIS系统的不乱性的影响也减小了,一个web利用

程序的崩溃不会影响到其他web利用程序和整个IIS系统的运行。

6.4.IIS5.0隔离模式

在IIS6.0中,为了斟酌利用程序的兼容性,由于某些web利用程序可能依赖于IIS5.0的架构。比如,某些Web利用,尤其是有些Internet Server API(ISAPI)筛选器,在过程外运行时可能会遇到问题。在IIS 5.0以及IIS 4.0中,ISAPI筛选器老是运行在过程Inetinfo.exe以内的,它们的设计目标原本就不是运行在过程以外的,恰是因为这些缘由,某些筛选器在IIS 6.0的工作过程隔离模式中运行时可能会呈现问题。因而,IIS6.0提供了另外一种利用程序隔离模式:IIS5.0隔离模式。IIS5.0隔离模式的结构图如下图所示:

IIS5.0隔离模式

在IIS6.0中,IIS5.0隔离模式主要有如下几个要点:

Ø 在内核模式中实现了HTTP.SYS驱动程序,由它负责对http要求的监听。

Ø WWW服务从Inetinfo.exe过程当中独立了出来。并且由WWW服务负责对宿主过程(DLLHost.exe)的创立以及管理。与IIS5.0不同,WWW服务创立了宿主过程DLLHost.exe以后还负责对它进行管理,比如监听它的状况,运行情况等。

Ø WWW服务负责对http要求进行转发。当用户的http要求从HTTP.SYS驱动程序传递过来之后,由WWW服务负责将这个要求传递个相关的web利用程序处理,并将处理结果返回。

Web利用程序允许运行在Inetinfo.exe过程当中,也能够运行在DLLHost.exe宿主过程当中。

6.5.工作过程隔离模式

工作过程隔离模式是IIS6.0所提供的全新的利用程序隔离模式。它的组成结构如下图所示:

工作过程隔离模式

在IIS6.0中,工作过程隔离模式主要有如下几个要点:

Ø 在内核模式中实现了HTTP.SYS驱动程序,由它负责对http要求的监听。

Ø WWW服务从Inetinfo.exe过程当中独立了出来,它运行在了新的过程SVCHost.exe当中。

Ø WWW服务只负责对利用程序池的创立以及管理。

Ø HTTP.SYS驱动程序直接与利用程序池中的工作过程(Worker Process)通讯。

Ø 一个利用程序池中可以运行一个或者多个web利用程序,并且由一个或者多个工作过程来管理它们。

Ø 工作过程(Worker Process)当中实现了原来WWW服务的功能:接管HTTP.SYS转发过来的用户http要求。WWW服务将再也不负责这部份工作。

7.Web园

在一个利用程序池中存在着一个或者多个web利用程序,并且由这个利用程序池中一个或者多个工作过程来管理这些web利用程序。

以上就是微观生活(93wg.com)关于“IIS架构详解”的详细内容,希望对大家有所帮助!

继续阅读
 
小微
  • 版权声明: 本文部分文字与图片资源来自于网络,转载此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们(管理员邮箱:81118366@qq.com),情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!
  • 转载请务必保留本文链接:https://93wg.com/20914.html