IIS6架构模型:W3SVC简介
1.概述
在IIS6中W3SVC已经从Inetinfo.exe进程中分离了出来,它将作为一个独立的进程运行,这个与IIS 5.0不同。
W3SVC负责创建工作进程(W3Core),在工作进程的运行过程中,W3SVC还负责监视它的运行状态。
(PS:W3Core又称为工作进程(Worker Process W3WP.exe )
W3SVC作为一个独立运行的进程,不包含任何第三方用户代码。所以,它不会受到web网站故障的影响,始终处于稳定的运行状态。在此前提下,W3SVC能够稳定地对web网站的运行情况进行监视,并在必要的时候采取行动。
基于这一策略,服务器能够根据用户指定的参数监视和重新启动应用程序。
2、性能监控
在IIS6信息服务管理器中,通过如下方式设置应用程序的保护级别,如下图:
(图 )性能配置
打开上述图的路径:开始菜单->管理工具->Internet信息服务管理器->应用程序池->属性。
在这里IIS提供了四种性能监控功能:
ü 对空闲超时的监控。如果工作进程一直处于空闲状态,那么当空闲时间达到设定的值后,W3SVC会关闭工作进程。
ü 请求队列限制。如果用户对工作进程的请求达到设定的上限后,W3SVC将会对用户的请求进行限制。
ü CPU监视。如果工作进程对CPU的占用率超过设定的上限后,W3SVC会根据IIS的配置信息采取相应的措施。
ü Web园。关于web园将会在后面的章节详细介绍。
3、应用程序运行状况监控
在Internet信息服务管理器中,关于应用程序运行状况监控的配置如下图:
(图)运行状况配置
打开上图的路径:开始菜单->管理工具->Internet信息服务管理器->应用程序池->属性。
在这里,IIS对应用程序池运行状况的监控提供了四种功能:
ü Ping。W3SVC会在设定的时间间隔内对工作线程执行Ping操作,以获取工作线程的状态信息。
ü 快速失败保护。如果在指定的时间段内,一定数目的工作进程发生失败,则W3SVC会禁用应用程序池。
ü 启动时间限制。工作进程必须在设定的时间内开始。
ü 关闭时间限制。工作进程必须在设定的时间内关闭。
4、应用程序池回收
在Internet信息服务管理器中,关于应用程序池回收的配置如下图:
在这里,IIS提供了四种回收的方式:
ü 可以设定回收工作进程的时间间隔。
ü 可以根据对工作进程的请求数量进行回收,一但对工作进程的用户请求数量超过设定值,系统就会执行对应用程序池的回收工作。
ü 定时回收。
ü 根据内存消耗进行回收。
应用程序发生故障,它通知W3SVC执行进程回收工作。
W3SVC启动一个新的工作进程。旧的工作进程继续执行未完成的用户请求,但不接收新的用户请求。
新、旧工作进程之间通信,同步应用程序的状态信息。当新工作进程完全获得了旧工作进程中的应用程序状态信息后,它通知W3SVC,表示它已经准备好了,可以接收用户的http请求。
旧的进程完成其未决的请求,然后正常关闭,或者如果在达到了配置的时间限制、请求数、设置的时间计划,或当达到指定的内存用量限制后仍没有关闭,则明确地终止进程。
新工作进程开始正式工作,接收用户的http请求。