IIS_6_新特性.doc_第1页
IIS_6_新特性.doc_第2页
IIS_6_新特性.doc_第3页
IIS_6_新特性.doc_第4页
IIS_6_新特性.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

IIS使用指南之一 :IIS 6 新特性可能很多朋友使用Windows Server 2003是因为IIS 6 的强大性能吧,和Windows 2000中包含的IIS 5 相比,IIS 6更为安全和稳定,最重要的是具有更高的性能,那么,为什么IIS 6会具有更高的性能呢? / w2 i0 E# & J; S( f4 C0 Z; x n9 d) B7 p, T7 w) C; sIIS 5 和 IIS 6 的架构比较 % B9 T. , e* h. v( w这点需要从IIS 5的架构说起。IIS 5的架构如下图所示, 8 h E( p* h & f7 m! 8 S1 / |% x7 & PIIS 5 的所有组件都工作在用户模式中,核心组件INETINFO侦听WinSock端口(例如常见的TCP 80端口)。当HTTP访问请求到达时,工作在内核模式的TCP/IP驱动将其直接路由到INETINFO进程,INETINFO进程自己本身对此请求进行处理或者将其交付扩展组件(如ISAPI扩展)进行处理。IIS 5 使用COM+提供的DLLHOST基础结构方式进行工作,这种方式具有以下缺陷: # P( E/ 7 ?1 j; n0 S* Y% i1 L% j, h3 i* t在INETINFO中执行第三方代码;这样的后果是如果执行的代码有问题,那么会导致整个Web服务器停止工作; . e0 l* g6 t7 c: l: T- Z7 f5 y+ e/ c) g/ 6 b! L% X* H% B如果执行的代码工作在OOB方式,那么可能需要多次用户模式到用户模式的转换,这降低了执行效率; 9 z% * V& 0 C5 C( Y4 S3 q7 X8 xO% A9 E1 a% d! V# y; R/ q- rWeb服务器上的所有Web站点工作在一个应用程序池内,无法实现隔离; ) F$ p/ V. p& Z( - D, Y5 q6 s1 b& 1 R C针对IIS 5中的种种问题,微软将IIS 5的代码推倒重来,重新设计了IIS 6并在Windows Server 2003中提供。IIS 6的架构如下图所示, 8 K: u: P: # W/ ?6 U$ x0 e7 z 9 V% d, 7 Q$ e P- ug可以从上图中看到,INETINFO进程虽然也存在,但是已经不再处理HTTP请求,而是处理FTP、SMTP和NNTP等非HTTP请求了。在IIS 6中,Web服务组件由以下三个组件构成: & o7 J0 L* . G. v e% f: 7 |, V! L运行在内核模式的HTTP.sys(HTTP协议栈); ; G X5 d( L5 # O+ : U7 k& x% w运行在用户模式的WAS(Web Admin Service,包含于W3SVC服务中); 9 y6 Q% P5 R& c, QY b8 j( K9 h; M9 r3 ! r/ Q运行在用户模式的工作进程(WP,Worker Process) + I; f/ Q O 5 K/ Q- S + 9 R$ y. E0 HTTP.sys(HTTP协议栈) 9 T$ : M7 o p9 QHTTP.sys是工作在内核模式的HTTP请求侦听器,它的架构如下图所示: |- v) D! M y2 E; f$ u 9 Cb- P, r9 9 r9 E+ |, L/ d( 6 W% HTTP.sys不会执行外部代码,它具有以下作用: 3 M, n/ W; C9 T, y& w# c# A6 G! E 4 x) G& N5 e/ Y侦听和分析HTTP请求,支持IPv4和IPv6; 2 y- G4 - K7 o( X6 e9 7 by( e w5 C/ ) * j根据URL命名空间将接收到的HTTP请求路由到不同的工作进程;如果请求的URL并不位于本地的URL命名空间范围中,则返回400错误; ( Z I9 l# z, M- Q! i) Y# T8 U a4 V: f, _0 ?& v将HTTP请求进行队列缓存; 1 p4 + C% y# ? E. d! B0 E7 B4 g& K) X4 n7 a在内核模式中缓存静态的和无需身份验证的内容响应;这极大的提高了Web服务的响应速度,增强了Web服务器的性能。 - U3 F/ f5 P; Q* _, A3 U! g; P# q6 P% Y+ uP0 i. |: m9 V1 V支持PAE内存寻址方式,在x86上支持的内存容量为64GB; $ Z8 _0 P8 z0 p+ Z4 m - b( Z $ Y$ l3 b9 r- W / $ - B8 k- t$ 6 W. KWAS(W3SVC) 4 % K2 % F3 G! 8 TWAS包含于W3SVC服务中,它负责管理IIS 6中的配置、应用程序池和工作进程,它工作在用户模式,但不会执行外部代码。 $ p8 u; u/ $ t# u0 A6 W5 它主要具有以下作用: 8 , m1 p4 # _% R: N, p) O) x& 9 c配置HTTP.sys; 6 6 A0 m8 h5 f6 p- R8 X2 J5 8 a2 L! N( D0 3 ?4 g% P& n管理应用程序池; 7 R8 + Y n J, t; l0 a$ X( D T1 Ln- b5 h0 d# y创建工作进程; 8 B0 y. j! D ?6 3 q. a9 z工作进程回收; # C: i% J u, T7 H3 P: 0 Z/ m M2 h$ F9 l& h2 工作进程状态监视; 2 - e( O9 v2 T; _4 l( Q- X. s7 H, H# l8 e1 ) B工作进程快速失败保护; E4 i% P i6 A; G( y. k) z4 t0 z; L b! _1 p1 支持孤立工作进程以进行调试等; + |9 8 y v* v+ ( H1 K1 * X: / v# 工作进程(WP,Worker Process) 5 Y7 8 1 e& X5 E9 6 v* F- N在介绍工作进程之前,需要先介绍应用程序池。应用程序池定义了可以共享工作进程的Web应用程序(Web站点)的集合,你可以认为它是一组URL命名空间,属于此URL命名空间范围中的Web站点将共享此应用程序池中的工作进程,而HTTP.sys是根据应用程序池所定义的URL命名空间将接收到的HTTP请求路由到此应用程序池对应的工作进程。 5 M7 b1 Z& p( f O和IIS 5 中只能使用一个应用程序池不同,在IIS 6 中你可以创建多个应用程序池,并将不同的Web站点(Web应用程序)分配到不同的应用程序池中,一个应用程序池可以具有一个或多个Web应用程序。不同应用程序池之间是完全隔离的,某个应用程序池出现故障时不会影响其他应用程序池;这样当属于某个应用程序池的Web站点因为代码编写问题而导致停止服务时,不会影响到使用其他应用程序池的Web站点,这最大的实现了Web服务器的高可用性。 3 G: S5 U. w& ( L4 在IIS 6中提供了Web园功能,支持使用超过1个的工作进程,并且支持在SMP系统中为工作进程分配CPU亲缘关系,让其只在某些CPU上运行。 _3 $ Y+ L) Z9 r工作进程则是真正用于处理客户发送的HTTP请求的组件,你可以认为它是一个全功能的Web服务器,就像一个微型的IIS 5 服务器一样。当HTTP.sys决定将接收到的HTTP请求路由到某个应用程序池时,它是将HTTP请求路由到此应用程序池对应的工作进程进行处理;工作进程处理HTTP请求,如果需要则加载其他组件(ISAPI扩展或过滤器等等)进行处理,并将处理结果返回给HTTP.sys。 # V# c/ d, a* x2 P) N2 7 ?. M6 b4 a8 D! t1 M2 3 B当客户发起HTTP连接请求时,IIS 6完整的处理过程如下: ) Q2 n& t. j1 V; |B* q: # N0 V. O8 b/ h5 8 T9 w3 ! R在W3SVC服务启动时,WAS即启动,并且根据metabase.xml中的设置来配置HTTP.sys; % o, l# f z* v5 p7 t0 L W/ e# v) H x6 Y当HTTP.sys接收到HTTP请求时,分析其URL命名空间,如果在自己的响应缓存中具有匹配值则直接从缓存中获取响应并返回给客户,如果没有匹配值则根据WAS提供的URL命名空间 范围来决定由哪个应用程序池处理此HTTP请求; ) r/ p. N8 v8 J0 V1 * o& 4 o, T) I$ / b; N如果此应用程序池当前没有工作进程,那么HTTP.sys通知WAS为其创建一个新的工作进程; U X3 ?9 s+ N; # X; L% T: m5 H/ t( sHTTP.sys将接收到的HTTP请求路由到对应的工作进程中,工作进程处理此HTTP请求然后将结果返回给HTTP.sys,并且根据缓存活动算法来告知HTTP.sys是否缓存此结果; - U. M+ e/ y4 T% N+ Q* j) u# : l- AHTTP.sys将请求的处理结果返回给原始客户,并根据工作进程的提示来决定是否保存此处理结果到自己的缓存中。 ) T4 H Q# U& # V4 GU$ Uu6 + l: * L9 I2 T, y2 m+ X( ! W! DIIS 6 新特性 - Y$ R. ; C8 l7 Y从上面的比较可以看出,IIS 6 和 IIS 5 相比在可靠性、扩展性和安全性上都具有很大的提升,它主要具有以下新特性: 5 5 J( |9 ) K$ U2 a& J; P. F- O. N! m$ N可靠性:由于Web应用程序在不同的工作进程中执行,并且基于WAS完善的隔离、监控和恢复机制,当某个应用程序池出现问题时,不会影响其他应用程序池并且能够得到最快的恢复。 . C2 E) _* S8 p* F4 G1 v7 Y, e* ; 扩展性:通过全新设计的架构,IIS 6显著的提高了Web服务器的吞吐量和性能,从而在以下方面得到了提高: ) - C o6 W( k2 ; ; X- N2 R7 E8 o. S. N3 Z2 G1 I) JIIS 6 Web服务器可以架设的Web站点数; , Y6 C$ K& x$ I2 z! x j3 j1 O9 T V* Y9 q# z5 P- L6 r并发活动工作进程数; & K* R( W. ) T$ V+ M! y1 D! Sl/ SWeb服务器或Web站点的启动和停止性能; : q. p% ?: ?4 h+ K1 6 N, : x7 O! xWeb服务器可以处理的并发请求数; f) s! p7 |# k6 B; i% m W T$ P$ _4 i4 d安全性:和安装Windows 2000服务器时会默认安装IIS 5并启用ASP支持不同,在安装Windows Server 2003 标准版/企业版/数据中心版时默认并不会安装IIS 6,并且在安装IIS 6时,默认只能访问静态内容并且禁止使用父路径访问。管理员可以根据自己的需要在IIS管理器中启用或禁用Web服务扩展。 9 8 i1 O j( m/ y+ J* |$ 2 B& N2 E$ S可管理性:为了迎合企业中管理的需要,IIS 6中提供了多种管理工具,例如你可以通过IIS管理器、运行脚本或者直接修改IIS Metabase来配置IIS,你也可以安装IIS的远程管理组件来进行远程管理。 , U4 w1 F1 , s% y( w; q% h$ I D& T8 : ni& G d$ D! B增强开发支持:在IIS 6中提供了ASP.NET的支持,并且也支持XML、SOAP和IPv6。 X1 X7 |# y& y& I / k5 N0 U, r9 I& l! z i 1 D! L- B1 w9 W9 v! K5 Y* F( TgIIS 6 中的应用程序隔离模式 4 / X- z& X+ R: R! M f* F和IIS 5 的架构相比,IIS 6 的新架构具有更高的性能、稳定性和可用性,但是IIS 6这种新架构所运行的隔离模式(工作进程隔离模式)不支持使用以下特性的Web应用程序: $ C. X/ k6 v( I$ |$ U( m5 & - ; j8 r Z& * NCOM+ OOB; 7 H# S6 3 , d5 h& E6 W1 |1 l: 6 Y会话状态保存在工作进程中:在回收工作进程时会话状态就会丢失(IIS 6 中默认会在一定空闲时间后回收工作进程); 2 d9 k/ r; # 9 _8 S% j f M0 u5 |8 e多实例ISAPI:为由多个进程加载所编写的并且并发运行的 ISAPI 应用程序。 + H7 R, 0 l/ D) Q0 y1 1 5 3 K& |) y) 9 B% t工作外进程:所编写的将请求转给其他工作进程的应用程序。 + t$ n4 h* Q不过微软为了保持后向兼容,在IIS 6 中除了提供工作方式如上文所描述的工作进程隔离模式外,还提供了工作方式几乎和IIS 5一样的IIS 5 隔离模式,当工作在IIS 5 隔离模式下,IIS 6的架构如下图所示: / ; Bg4 u - F+ F/ k e; d O9 ov2 w# G* t9 l 0 Iw! r j. b7 Y2 G 2 K% a/ F( Y6 H, b3 H n J0 C当IIS 6 工作模式为IIS 5 隔离模式时,它和IIS 5 的工作方式基本一样。而当IIS 6

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论