IIS

IIS最早是单进程应用程序。

IIS提供WWW服务,同时还可以使用Internet服务应用程序设计接口(Internet Service Application Programming Interface,ISAPI)开发的DLL。

微软开发ISAPI的初衷是希望它能够取代Unix风格的系统所使用的CGI进程—>在这类系统中,针对每个请求,系统都需要生成一个新的CGI进程,即使在同一个CGI应用程序中也必须如此。

请求1————————–>CGI进程

请求2————————–>CGI进程

请求3————————–>CGI进程

        |

        |

        |

请求n————————–>CGI进程

 

 

与CGI相比,ISAPI的可伸缩性要好得多,因为ISAPI可以在同一个进程中响应多个请求。

缺点:

因为需要在一个单独的进程中响应多个请求,所以任意一个ISAPI的DLL发生失效时,会导致整个Web服务崩溃。

 

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

IIS

1、IIS6.1版本

每个应用程序池对应一个w3wp.exe进程。对应执行进程的用户名就是应用程序池的名称。

在IIS中可以用iisapp命令查看到所有w3wp进程的情况,但IIS7中微软改变了做法,改用了Appcmd命令了,做法如下: 
  1:在system32文件夹中有appcmd.exe工具,C:\Windows\System32\inetsrv\appcmd.exe
  2:打开doc命令窗口,定位到该文件夹 
  3:输入查看命令:appcmd list wp,即可看到所有w3wp进程的情况了

回收应用程序池,即重启应用程序池对应的w3wp.exe进程。

 

深入理解IIS的多线程工作机制

清空IIS日志

 

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注