| 具有容错能力的进程架构 |
我们利用具有容错能力的新型进程架构对 IIS 6.0 进行了全面重新设计。该架构能极大地提高网站和应用程序的可靠性。在该产品的以前版本中,单个 Web 应用程序的失败可能导致同一服务器上的其它网站和应用程序发生失败。IIS 6.0 将网站和应用程序分隔成自我包含的单元(被称作“应用程序池”),从而可将驻留在同一服务器上的应用程序彼此隔离开来。一个或多个不同的 Windows 进程(被称作“工作进程”)会为各个应用程序池提供服务。工作进程是独立运行的,因此当它们失败时,它们不会影响其它工作进程。应用程序池功能可向应用程序提供保护,使那些支持其它应用程序池的工作进程不致影响它们,并防止应用程序之间的产生相互影响。IIS 6.0的容错架构提高了Web服务器体系的整体可靠性、增强了网站和应用程序的可用性,并且增加了可在同一服务器上运行的独立网站和应用程序的数量。 |
| 应用程序池 |
应用程序池是一组被路由到一个或多个工作进程的URL。由于应用程序池定义了一组共享一个或多个工作进程的Web应用程序,因此它们为管理成组的网站和应用程序以及各自对应的工作进程提供了方便。进程边界使得各个工作进程得以彼此分隔,这样,一个应用程序池中的应用程序问题将不会影响另一应用程序池中的网站或应用程序。应用程序池功能显著增强了Web体系的可靠性和可管理性。 |
| 健康状态监视 |
管理员可设置Ping操作的间隔时间,从而可定期对正在运行的工作进程执行Ping命令来检测故障。IIS 6.0可以检测网站或应用程序何时发生了故障,然后自动重新启动它们。在回收进程时,传入的请求将排队等候服务,直到网站或应用程序重新变得可用。健康状态监视和内核模式的队列以及新型容错进程架构组合在一起,极大地增强了网站和应用程序的可用性,同时减少了服务器停机时间。 |
| 频繁故障保护 |
您可以对 IIS 6.0进行配置,让它在某个应用程序池短时期内发生过于频繁的故障时自动禁止其进程。频繁故障保护会将这种应用程序池置于“停止服务”状态。对于该应用程序池中的网站和应用程序的任何新请求或排队请求,IIS 6.0都会立即返回“503 服务不可用”的错误消息。当系统自动停止一个应用程序池时,可以触发一些定制操作,比如调试操作或管理员通知。频繁性障保护还有助于保护 Web 服务器免遭拒绝服务攻击,因而增强了Web服务器体系的总体可靠性。 |
| 自动进程回收 |
为了防止应用程序错误,您可以配置IIS 6.0,让它定期重启为应用程序池指定的工作进程。这样,系统管理员可以自动回收有问题(如内存泄漏或访问冲突)的 Web 应用程序。回收功能保证了有问题的应用程序的平稳运行,尤其在不大可能修改该应用程序的代码的情况下。您可以基于一组灵活的条件(包括对应用程序池中网站和应用程序的请求数、已使用的CPU量、已消耗的物理内存或虚拟内存量以及应用程序的运行时间)来配置IIS 6.0回收进程。管理员还可以按照已设置的计划或根据需要回收进程。IIS 6.0 的一个优点是,如果Web应用程序发生故障,则在重启故障网站或应用程序的同时,IIS 6.0会维护所有客户端的连接状态。在回收进程时,请求将被进入队列,并且在网站或应用程序变得重新可用时得到服务。这样,大多数连接到该应用程序的用户都将觉察不到它曾发生故障。 |
| 进程隔离 |
通常来说,IIS 6.0会通过结束故障进程并启动替代进程来回收发生故障的进程。但是,如果启用了隔离功能,则 IIS 6.0 会保留发生故障的工作进程,让它继续运行,并启动新进程来代替它的作用。例如,当工作进程在某个时间段内未响应 Ping 请求时,IIS 6.0 可以隔离该进程。由于您可以配置服务器让它运行命令(比如对于已被隔离的进程启动调试工具),因此进程隔离功能对网站和应用程序调试以及总体的系统管理极其有帮助。 |
| 不受影响的TCP/IP 连接 |
当发生Web应用程序故障时,IIS 6.0会在回收工作进程的同时维护客户端的TCP/IP连接。该功能可以避免因为Web应用程序的不稳定给客户端带来的负面影响。对那些没有内置重试逻辑的 Web 服务客户端而言,该功能尤其有用。 |
| CPU 和进程节制 |
通过 IIS 6.0,管理员可以限制 Web 应用程序或站点占用的 CPU 时间量,从而确保其它网站或非Web应用程序的处理器时间,并因此实现更高的性能。借助进程节制功能,管理员可以限制 Web应用程序或站点在事先确定的时间段内占用 CPU 的时间量,从而确保其它网站或非 Web 应用程序有可用的处理器时间。 |