IIS6与IIS5架构对比:提升性能的秘密

需积分: 9 1 下载量 144 浏览量 更新于2024-07-28 收藏 4.56MB DOC 举报
"IIS使用指南提供了对IIS6与IIS5架构差异的详细解析,强调了IIS6在安全性和性能上的提升。" 在IIS(Internet Information Services)的历史发展中,IIS6是一个重要的里程碑,它在Windows Server 2003中引入,为用户提供了一种更为安全和高效的服务。相较于IIS5,IIS6的主要改进在于其架构的重构,以解决IIS5存在的问题。 在IIS5中,所有的组件都运行在用户模式下,包括核心组件INETINFO,它监听并处理HTTP请求。这种架构意味着任何在INETINFO中运行的第三方代码都有可能导致整个Web服务器的崩溃,因为它们都在同一个进程中执行。此外,由于所有Web站点共享一个应用程序池,隔离性较差,一旦一个站点出现问题,其他站点也会受到影响。另一个问题是,IIS5依赖于COM+的DLLHOST,这可能导致多次用户模式到内核模式的转换,降低了执行效率。 为了改善这些情况,IIS6采用了全新的架构。INETINFO在IIS6中的角色被弱化,主要处理FTP、SMTP和NNTP等非HTTP请求,而HTTP请求的处理则转移到了内核模式的HTTP.sys组件。HTTP.sys负责接收和分析HTTP请求,并支持IPv4和IPv6。它不执行外部代码,而是根据URL命名空间将请求路由到相应的工作进程(WP,Worker Process),这样可以实现更好的安全性,因为任何潜在的恶意代码都不会直接在核心服务中运行。 IIS6引入的另一关键组件是WAS(Web Admin Service),它运行在用户模式,包含于W3SVC服务中。WAS管理应用程序池,以及工作进程的创建和回收。每个Web站点或应用程序可以分配到单独的应用程序池,实现了不同站点间的资源隔离,提高了系统的稳定性。 工作进程(WP)是运行在用户模式的独立进程,每个进程可以承载多个Web应用程序实例,这允许在不影响其他进程的情况下对单个进程进行故障隔离和恢复,从而提高了整体服务的可用性。此外,这种架构还允许根据需要动态调整工作进程的数量,以优化性能和资源利用率。 IIS6通过引入内核模式的HTTP.sys、用户模式的WAS以及工作进程模型,显著提升了系统的稳定性和安全性,并优化了资源管理,使其成为Windows Server 2003中一个强大的Web服务解决方案。