文本版|topic 高级搜索
   名人堂 帮助 论坛制度 意见反馈 | 首页 博客 周新贴 专题 求职 读书
RSS 底部
 
社区导航: 专家门诊   网络技术   操作系统   数据库   程序设计   系统应用   考试认证   CIO及信息化   站长交流   综合交流   下载基地  51CTO产品服务 设为首页 | 收藏本站
51CTO技术论坛» Windows » IIS使用指南之一 :IIS 6 新特性       [ 打印]  [ 订阅]  [ 收藏]  [ 推荐给朋友]   [ 本帖文本页]

论坛跳转:
     
标题: [转载] IIS使用指南之一 :IIS 6 新特性  ( 查看:181  回复:1 )   
 
特爱蚂蚁
管理员  点击可查看详细


诚信兄弟   行业勋章   技术勋章   管理员专用   十二生肖之牛  
帖子 1282
精华 3
无忧币 3110
积分 1316
阅读权限 255
来自 (保密)
注册日期 2008-6-3
最后登录 2008-9-8 离线

[查看资料]  [发短消息]  [Blog
       
发表于:2008-7-7 16:38   标题:IIS使用指南之一 :IIS 6 新特性
上一帖 |
可能很多朋友使用Windows Server 2003是因为IIS 6 的强大性能吧,和Windows 2000中包含的IIS 5 相比,IIS 6更为安全和稳定,最重要的是具有更高的性能,那么,为什么IIS 6会具有更高的性能呢? bbs.51cto.com h4]"r-u
Msy

 
i3_ R        {2T?(L!Q Y51CTO技术论坛IIS 5 和 IIS 6 的架构比较
6g"ja&j4`,BB51CTO技术论坛这点需要从IIS 5的架构说起。IIS 5的架构如下图所示, bbs.51cto.comm)k(|.AEJ]W_

,o1co;rSfRIIS 5 的所有组件都工作在用户模式中,核心组件INETINFO侦听WinSock端口(例如常见的TCP 80端口)。当HTTP访问请求到达时,工作在内核模式的TCP/IP驱动将其直接路由到INETINFO进程,INETINFO进程自己本身对此请求进行处理或者将其交付扩展组件(如ISAPI扩展)进行处理。IIS 5 使用COM+提供的DLLHOST基础结构方式进行工作,这种方式具有以下缺陷: bbs.51cto.com&w!d4PDZ8uj
bbs.51cto.com:G&GY7c@
j H#]1|"Z&|

在INETINFO中执行第三方代码;这样的后果是如果执行的代码有问题,那么会导致整个Web服务器停止工作;
z"vQp?mifm(w/O M(~bbs.51cto.com%s        cI6GxZ_A%F&C
如果执行的代码工作在OOB方式,那么可能需要多次用户模式到用户模式的转换,这降低了执行效率; 51CTO|计算机|网络|信息|技术|安全|路由器|网管|Windows|Vista|数据库|网站|开发|下载|灌水|+IYN Fzn
51CTO技术论坛F`5F#Vr
Web服务器上的所有Web站点工作在一个应用程序池内,无法实现隔离;
k.E
V\a)U(V
  6`*WCy/na
针对IIS 5中的种种问题,微软将IIS 5的代码推倒重来,重新设计了IIS 6并在Windows Server 2003中提供。IIS 6的架构如下图所示, 51CTO技术论坛1\%n]p6Q
_D


-aL!d)_v可以从上图中看到,INETINFO进程虽然也存在,但是已经不再处理HTTP请求,而是处理FTP、SMTP和NNTP等非HTTP请求了。在IIS 6中,Web服务组件由以下三个组件构成:
'T0T@%K8M*P2Uk`51CTO技术论坛51CTO|计算机|网络|信息|技术|安全|路由器|网管|Windows|Vista|数据库|网站|开发|下载|灌水|3SnS0q l"{4Z
i

运行在内核模式的HTTP.sys(HTTP协议栈); 51CTO|计算机|网络|信息|技术|安全|路由器|网管|Windows|Vista|数据库|网站|开发|下载|灌水|6F.|:s1O9z[
bbs.51cto.com
O t
Sgn3]

运行在用户模式的WAS(Web Admin Service,包含于W3SVC服务中);
y5yWYq.gI|0_bbs.51cto.com
}/t;y%GURwv]4KLbbs.51cto.com运行在用户模式的工作进程(WP,Worker Process)
Cu
v!aTjbbs.51cto.com
 

r0fT,v~'Ibbs.51cto.com
HTTP.sys(HTTP协议栈) w6STH~uR.]*c
HTTP.sys是工作在内核模式的HTTP请求侦听器,它的架构如下图所示:
}js*^&W:cP0O7VY51CTO|计算机|网络|信息|技术|安全|路由器|网管|Windows|Vista|数据库|网站|开发|下载|灌水| *lQR
r-R,O'Y"uA(Kz

HTTP.sys不会执行外部代码,它具有以下作用: 51CTO技术论坛
F?-j%i(V,Ii1U


-e!u+d)QU1yOVbbs.51cto.com侦听和分析HTTP请求,支持IPv4和IPv6;
Ldofr51CTO|计算机|网络|信息|技术|安全|路由器|网管|Windows|Vista|数据库|网站|开发|下载|灌水|
yUX_!u2ww51CTO|计算机|网络|信息|技术|安全|路由器|网管|Windows|Vista|数据库|网站|开发|下载|灌水|根据URL命名空间将接收到的HTTP请求路由到不同的工作进程;如果请求的URL并不位于本地的URL命名空间范围中,则返回400错误;
]Q_)}{"fd51CTO|计算机|网络|信息|技术|安全|路由器|网管|Windows|Vista|数据库|网站|开发|下载|灌水|3r
H%vT:M
B

将HTTP请求进行队列缓存; bbs.51cto.com
["f}T7R1u


        E`4A8[)k在内核模式中缓存静态的和无需身份验证的内容响应;这极大的提高了Web服务的响应速度,增强了Web服务器的性能。 bbs.51cto.com4^i6^,H:R5h

.i6`&U
U3xI~51CTO技术论坛
支持PAE内存寻址方式,在x86上支持的内存容量为64GB; 51CTO|计算机|网络|信息|技术|安全|路由器|网管|Windows|Vista|数据库|网站|开发|下载|灌水|0O~!g!p8y.d
o

  51CTO|计算机|网络|信息|技术|安全|路由器|网管|Windows|Vista|数据库|网站|开发|下载|灌水|        `        es!K-u
  bbs.51cto.com0N.xK        ]@z4J
WAS(W3SVC)
Xn}1S'H\(|%DWAS包含于W3SVC服务中,它负责管理IIS 6中的配置、应用程序池和工作进程,它工作在用户模式,但不会执行外部代码。
#Ci CD;Ubn(`51CTO技术论坛它主要具有以下作用:
&U+Ri(F7jg;c*B2X51CTO|计算机|网络|信息|技术|安全|路由器|网管|Windows|Vista|数据库|网站|开发|下载|灌水|
lk/BS/E E"z1A#ho51CTO|计算机|网络|信息|技术|安全|路由器|网管|Windows|Vista|数据库|网站|开发|下载|灌水|配置HTTP.sys;
1V5iq.V0f3w
_!ibbs.51cto.com
bbs.51cto.com0m
Sw%v ?cH

管理应用程序池;
xU5clL}bbs.51cto.com0?(KDc,u7p@S,@
创建工作进程; 51CTO技术论坛S"\#Wa8}:b
sC


r7S'BQ0i eOGrJ51CTO技术论坛工作进程回收;
X q7j)E#Q"G0[C2N^;I51CTO|计算机|网络|信息|技术|安全|路由器|网管|Windows|Vista|数据库|网站|开发|下载|灌水|
}eJ C-B9FX工作进程状态监视;
9B"`;ak+fc8Hy-F
SQ2E.Ao F| T工作进程快速失败保护; 51CTO|计算机|网络|信息|技术|安全|路由器|网管|Windows|Vista|数据库|网站|开发|下载|灌水|
]j[        Mz

DL5J4r Djr
支持孤立工作进程以进行调试等;
HU]*io7V3Ge 
-{bw9Lm#M工作进程(WP,Worker Process) 51CTO技术论坛c U\.tF3BBL
在介绍工作进程之前,需要先介绍应用程序池。应用程序池定义了可以共享工作进程的Web应用程序(Web站点)的集合,你可以认为它是一组URL命名空间,属于此URL命名空间范围中的Web站点将共享此应用程序池中的工作进程,而HTTP.sys是根据应用程序池所定义的URL命名空间将接收到的HTTP请求路由到此应用程序池对应的工作进程。 51CTO技术论坛Y"a        N2jA0|!d~
和IIS 5 中只能使用一个应用程序池不同,在IIS 6 中你可以创建多个应用程序池,并将不同的Web站点(Web应用程序)分配到不同的应用程序池中,一个应用程序池可以具有一个或多个Web应用程序。不同应用程序池之间是完全隔离的,某个应用程序池出现故障时不会影响其他应用程序池;这样当属于某个应用程序池的Web站点因为代码编写问题而导致停止服务时,不会影响到使用其他应用程序池的Web站点,这最大的实现了Web服务器的高可用性。 bbs.51cto.com(T*rD|cI&X
在IIS 6中提供了Web园功能,支持使用超过1个的工作进程,并且支持在SMP系统中为工作进程分配CPU亲缘关系,让其只在某些CPU上运行。
-x&K"v"@8_0kbbs.51cto.com工作进程则是真正用于处理客户发送的HTTP请求的组件,你可以认为它是一个全功能的Web服务器,就像一个微型的IIS 5 服务器一样。当HTTP.sys决定将接收到的HTTP请求路由到某个应用程序池时,它是将HTTP请求路由到此应用程序池对应的工作进程进行处理;工作进程处理HTTP请求,如果需要则加载其他组件(ISAPI扩展或过滤器等等)进行处理,并将处理结果返回给HTTP.sys。 bbs.51cto.com"Vil~@r&Z
AD;W0O

 
4prB-C3C?D`51CTO|计算机|网络|信息|技术|安全|路由器|网管|Windows|Vista|数据库|网站|开发|下载|灌水|当客户发起HTTP连接请求时,IIS 6完整的处理过程如下: 51CTO|计算机|网络|信息|技术|安全|路由器|网管|Windows|Vista|数据库|网站|开发|下载|灌水|!r9Egytg-e"Z8V
51CTO|计算机|网络|信息|技术|安全|路由器|网管|Windows|Vista|数据库|网站|开发|下载|灌水|L
_;Lw2A        p&m$Rc)}

在W3SVC服务启动时,WAS即启动,并且根据metabase.xml中的设置来配置HTTP.sys; bbs.51cto.comt[1{$Cp*z
51CTO|计算机|网络|信息|技术|安全|路由器|网管|Windows|Vista|数据库|网站|开发|下载|灌水|"Y,L%B.llN:s
当HTTP.sys接收到HTTP请求时,分析其URL命名空间,如果在自己的响应缓存中具有匹配值则直接从缓存中获取响应并返回给客户,如果没有匹配值则根据WAS提供的URL命名空间 范围来决定由哪个应用程序池处理此HTTP请求;
t {}0NikJb51CTO技术论坛l        ktF        CVBBV
如果此应用程序池当前没有工作进程,那么HTTP.sys通知WAS为其创建一个新的工作进程;
y {"JC YIg
4X{3H
o{
HTTP.sys将接收到的HTTP请求路由到对应的工作进程中,工作进程处理此HTTP请求然后将结果返回给HTTP.sys,并且根据缓存活动算法来告知HTTP.sys是否缓存此结果; fJjoo(^
|0kdqdZ
HTTP.sys将请求的处理结果返回给原始客户,并根据工作进程的提示来决定是否保存此处理结果到自己的缓存中。
Kpe7P%G9cr
R
*Y2Po }#to4V

Enx1^)g L*cJ/G51CTO|计算机|网络|信息|技术|安全|路由器|网管|Windows|Vista|数据库|网站|开发|下载|灌水|IIS 6 新特性 M
y+]0b9Q? e        Wu

从上面的比较可以看出,IIS 6 和 IIS 5 相比在可靠性、扩展性和安全性上都具有很大的提升,它主要具有以下新特性: 8[-`8@%l        t*k!eZ
s6t


E!t3?+}ON6A"?;T51CTO|计算机|网络|信息|技术|安全|路由器|网管|Windows|Vista|数据库|网站|开发|下载|灌水|可靠性:由于Web应用程序在不同的工作进程中执行,并且基于WAS完善的隔离、监控和恢复机制,当某个应用程序池出现问题时,不会影响其他应用程序池并且能够得到最快的恢复。 bbs.51cto.com8I`2EO `"G        B/s

!@` u
Mvk
扩展性:通过全新设计的架构,IIS 6显著的提高了Web服务器的吞吐量和性能,从而在以下方面得到了提高:
CYG
B%r\51CTO|计算机|网络|信息|技术|安全|路由器|网管|Windows|Vista|数据库|网站|开发|下载|灌水|
51CTO|计算机|网络|信息|技术|安全|路由器|网管|Windows|Vista|数据库|网站|开发|下载|灌水| XY;ID(f
IIS 6 Web服务器可以架设的Web站点数; 51CTO|计算机|网络|信息|技术|安全|路由器|网管|Windows|Vista|数据库|网站|开发|下载|灌水|s;c"^@.?%c'D2?c

I5V0r[ A并发活动工作进程数;
0fsbzT.r51CTO|计算机|网络|信息|技术|安全|路由器|网管|Windows|Vista|数据库|网站|开发|下载|灌水|FA4Rs_ZW
Web服务器或Web站点的启动和停止性能;
5V[p
b Kbbs.51cto.com

dA9INr%z*B[pbbs.51cto.comWeb服务器可以处理的并发请求数; q*fXp)PX
,g
[2ny ?{7KC!k

安全性:和安装Windows 2000服务器时会默认安装IIS 5并启用ASP支持不同,在安装Windows Server 2003 标准版/企业版/数据中心版时默认并不会安装IIS 6,并且在安装IIS 6时,默认只能访问静态内容并且禁止使用父路径访问。管理员可以根据自己的需要在IIS管理器中启用或禁用Web服务扩展。 51CTO技术论坛j1tKO!|
df


Yp.pQh9N0[bbs.51cto.com可管理性:为了迎合企业中管理的需要,IIS 6中提供了多种管理工具,例如你可以通过IIS管理器、运行脚本或者直接修改IIS Metabase来配置IIS,你也可以安装IIS的远程管理组件来进行远程管理。 *z
DeX~7~,j"L6N


QA-`D&_R;ebbs.51cto.com增强开发支持:在IIS 6中提供了ASP.NET的支持,并且也支持XML、SOAP和IPv6。
S
y"qvO&b51CTO|计算机|网络|信息|技术|安全|路由器|网管|Windows|Vista|数据库|网站|开发|下载|灌水|
 
O;Yq!I ^\^1@8b"N"g,J51CTO技术论坛 
2ZKM6x kU$DIIS 6 中的应用程序隔离模式
8hB I n Nq9T和IIS 5 的架构相比,IIS 6 的新架构具有更高的性能、稳定性和可用性,但是IIS 6这种新架构所运行的隔离模式(工作进程隔离模式)不支持使用以下特性的Web应用程序:
S,]{2T6yEe51CTO|计算机|网络|信息|技术|安全|路由器|网管|Windows|Vista|数据库|网站|开发|下载|灌水|bbs.51cto.com(^e0AB,cI
d(O

COM+ OOB; ;f3X'`v*y5Y?

y
C6?ilbbs.51cto.com
会话状态保存在工作进程中:在回收工作进程时会话状态就会丢失(IIS 6 中默认会在一定空闲时间后回收工作进程);
s'a&}m~$HVIr51CTO技术论坛
E#f7Y8oq5Qy51CTO技术论坛多实例ISAPI:为由多个进程加载所编写的并且并发运行的 ISAPI 应用程序。
+J^*i$t ~9{
gi/S

&YDE-D0H-@f-Zbbs.51cto.com工作外进程:所编写的将请求转给其他工作进程的应用程序。 51CTO|计算机|网络|信息|技术|安全|路由器|网管|Windows|Vista|数据库|网站|开发|下载|灌水|j)Tcx%B[z-g{
不过微软为了保持后向兼容,在IIS 6 中除了提供工作方式如上文所描述的工作进程隔离模式外,还提供了工作方式几乎和IIS 5一样的IIS 5 隔离模式,当工作在IIS 5 隔离模式下,IIS 6的架构如下图所示:
l_$?.Y^fQ,u.l6z51CTO|计算机|网络|信息|技术|安全|路由器|网管|Windows|Vista|数据库|网站|开发|下载|灌水|
@        N'F2j        mTYu 
H"[1C{*c 
S$|O8\oI\51CTO|计算机|网络|信息|技术|安全|路由器|网管|Windows|Vista|数据库|网站|开发|下载|灌水|当IIS 6 工作模式为IIS 5 隔离模式时,它和IIS 5 的工作方式基本一样。而当IIS 6 工作在工作进程隔离模式下时,根据IIS 6的新架构,在隔离环境中运行所有应用程序代码,并且由于在应用程序池间切换所需要的指令很少,在隔离方式下运行代码并不会带来性能的降低。工作进程隔离模式和目前的绝大部分Web站点和Web应用程序兼容,并且可以获得更高的安全性和性能,和IIS 5 隔离模式相比,运行在工作进程隔离模式主要具有以下好处: bbs.51cto.com-DH,f9|$?-ay
x

51CTO|计算机|网络|信息|技术|安全|路由器|网管|Windows|Vista|数据库|网站|开发|下载|灌水|:b:]9e&zT3Y
支持使用多个应用程序池,并且每个应用程序池可以具有不同的配置;而IIS 5 隔离模式只能使用一个应用程序池并且不能进行配置; *{/__5u2z'Ai&k,}%G

y,iG6ls-N"w51CTO技术论坛工作进程的运行账户为网络服务账户而不是IIS 5 隔离模式中的本地系统账户; `%J8p
OzT0?"bI f

L6}:fiAdN a
支持在一个应用程序池中使用多个工作进程;支持工作进程CPU亲缘关系设定;支持工作进程回收以减少系统资源的占用;支持工作进程状态监控; 支持工作进程快速失败保护;支持孤立工作进程以进行调试等;
-oKl x7n-@51CTO|计算机|网络|信息|技术|安全|路由器|网管|Windows|Vista|数据库|网站|开发|下载|灌水|1O8O bo"W
在应用程序池之间完全隔离; 51CTO技术论坛 U"~/]]u?q#up
因此强烈推荐你将IIS 6运行在工作进程隔离模式下,除非你的Web应用程序明确说明不支持运行在此模式下。



喜欢篮球和bbs的纯情小正太一枚..
2008-7-7 16:381楼
[ 顶部 ]
 
yangming1052
副版主  点击可查看详细


十二生肖之牛   狮子座  
帖子 393
精华 0
无忧币 887
积分 362
阅读权限 140
来自 (保密)
注册日期 2008-7-9
最后登录 2008-9-8 在线

[查看资料]  [发短消息]  [Blog
[个人主页]         
发表于:2008-8-15 02:05 
很详细楼主辛苦了,先收藏着。



【专家门诊】Linux网络管理实战解疑
2008-8-15 02:052楼
[ 顶部 ]
     
论坛跳转:  

| | |

| | |

标记已读 · 删除论坛Cookies · 文本版 · WAP
 
| 诚征版主 | 版主堂 | 意见建议 | 大史记 | 论坛地图
Copyright©2005-2008 51CTO.COM  Powered by Discuz!
本论坛言论纯属发布者个人意见,不代表51CTO网站立场!如有疑义,请与管理员联系。
京ICP备05051492号