IIS服务有两个进程最为关键:
1.IIS服务自身的进程InetInfo.exe或WAS服务进程
2.运行web网站所使用的进程w3wp.exe
InetInfo.exe进程负责在IIS启动时加载IIS的配置文件Metabase到内存中,并按照配置文件的描述启动和管理IIS的各个网站。
IIS7.0之后,InetInfo.exe不复存在,它的功能被分散到几个IIS相关的Windows服务中。
在最早期的IIS服务中,InetInfo.exe不但负责运行IIS服务程序,还负责运行Web网站。
这样导致耦合度高,Web网站的崩溃也会导致IIS服务的崩溃。
为增强IIS的鲁棒性,将IIS的服务进程与Web网站的工作进程分离开;
为Web网站单独设计一款运行网站代码的壳程序,这个壳程序就是w3wp.exe
全称 World Wide Web Worker Process 万维网工作进程。
自IIS6.0版本引入,专门针对Web网站的IO场景做了优化:
内含专门运行代码的工作线程和专门处理数据包收发的工作线程,且异步处理HTTP请求。
在IIS7.0以后的版本,对w3wp.exe进程的启动,停止和监控工作交给了Windows的WAS服务。