IIS6.0 学习心得体会(一)--理论篇

IIS6.0引入了http.sys驱动程序以减少用户模式到内核模式的转换开销,提高了性能。此外,通过WAS组件和工作进程(w3wp.exe)实现应用隔离,增强了服务器的可靠性和安全性。默认的工进程隔离模式确保了故障不会影响其他应用,而Web园特性则允许多个工作进程为同一应用池服务,实现了简单的负载均衡。 inetinfo.exe的角色转变为仅处理非www服务和元数据库。
摘要由CSDN通过智能技术生成

Web服务器的性能和可靠性问题绝大部分是由于质量低劣的Web应用造成。inetinfo.exe运行在用户态下,应用程序失进程本身下运行败会导致inetinfo.exe挂起,IIS服务失效。过去的IIS被设计成为只有一个进程--inetinfo.exe,IIS在用户模式下运行,运行在用户模式下的应用程序不直接与硬件通信,它们调用的winsock,winsock将数据传入内核模式的组件(例如网卡驱动程序)。
毛病1:
从性能上,inetinfo进程作为用户态进程工作。用户模式和内核模式之间的转换是一项开销很大的操作。服务器首先从内核模式的TCP/IP栈将传入的HTTP请求传递给用户模式的Winsock,由Winsock将请求传递给IIS。这叫Context Switching
毛病2:
违背了操作系统稳定性的基本原则:
1 把系统代码和用户代码隔离;
2 把应用程序进行隔离。
web服务的所有组成部分都运行在inetinfo.exe,包括系统代码,也包括用户代码。

对质量低劣的代码优化,对提供虚拟主机的ISP来说,通常一台服务器上承载多个web应用, 不可能ISP来排错, 一个web应用出问题,会株连九族。还有客户代码和操作系统代码在共享同一个进程,应用代码有可能对系统代码造成威胁,黑客可能使自己的代码让inetinfo执行一些底层的系统操作,同时inetinfo以system系统权限运行,因此缓冲区溢出会使入侵者获得system权限,进行任何操作。


IIS 5.0减轻这类问题。在IIS 5.0中,我们可以将应用程序保护设置为低级(IIS进程)、中级(缓冲池)、高级(隔离),

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值