应用程序池 与 W3WP.exe 进程的对应关系

 对于 IIS6、IIS7,  每个应用程序池都会创建一个 W3WP.exe 进程。  但是, 并不是所有情况都是一个应用程序池对应一个 W3WP.exe 进程。 Web Garden , 或者一些异常发生时候,就会一个 应用程序池对应多个 W3WP.exe 进程。

 

       Web Garden 指的是一个应用程序可以在多个进程(w3wp.exe)中来执行,一次请求使用其中的一个。用这个的主要目的是提高程序的可用性。当其中一个进程发生错误,那么也不会影响其他进程。发生错误的进程可以根据规则关闭,而其他的进程则可以继续工作。

       需要注意的是:一般使用 InProc HttpSessionState / HttpApplicationState / 静态变量来储存关键信息 的程序是不支持 Web Garden的。

 

       由于应用程序池会在没有请求的时候定时回收,或者发生错误的时候,自动重新建立一个处理进程 W3WP.exe 进程。如果你中大运,你可能会看到没有配置 Web Garden 时, 一个应用程序池对应多个 W3WP.exe 进程, 如这篇文章中提到的http://www.eggheadcafe.com/forumarchives/inetserveriis/Feb2006/post25881024.asp 。

 

IIS 6 (Win2003 )中查看某个应用程序池对应那个 W3WP.exe 进程,可以使用如下命令,输出结果类似如下:

C:/WINDOWS/system32>cscript iisapp.vbs 
Microsoft (R) Windows Script Host Version 5.6 
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved. 
W3WP.exe PID: 1172 AppPoolId: StsAdminAppPool 
W3WP.exe PID: 2656 AppPoolId: MSSharePointAppPool 
W3WP.exe PID: 2148 AppPoolId: WMS App Pool 
W3WP.exe PID: 3604 AppPoolId: defaultwebsite

参看这篇博客: http://blogs.msdn.com/jb/archive/2006/02/22/536693.aspx

 

IIS 7 中则是如下命令,输出结果类似如下: 

C:/Windows/system32>%windir%/system32/inetsrv/appcmd list wp 
WP “5716″ (applicationPool:DefaultAppPool) 
WP “968″ (applicationPool:MyOtherAppPool) 
WP “5836″ (applicationPool:TheThirdAppPool)

参看: http://dirk.net/2008/06/01/identify-which-w3wpexe-belongs-to-which-application-pool-in-iis7/

 

参考资料:

找出“w3wp.exe进程”对应的“应用程序池” 
http://www.cnblogs.com/windpole/archive/2007/11/19/964819.html

Which w3wp.exe process belongs to which App Pool in IIS6 
http://weblogs.asp.net/owscott/archive/2004/09/21/Which-w3wp.exe-process-belongs-to-which-App-Pool-in-IIS6.aspx

What Application Pool does this W3WP.EXE belong to? 
http://blogs.msdn.com/jb/archive/2006/02/22/536693.aspx

New in IIS 7 - App Pool Isolation 
http://adopenstatic.com/cs/blogs/ken/archive/2008/01/29/15759.aspx

对w3wp.exe的一点认识! 
http://www.cnblogs.com/hjh1982/archive/2006/06/28/438032.html

关于Web Garden与Web Farms 
http://www.cnblogs.com/huashanlin/archive/2007/07/30/836652.html

你的程序支持 IIS6 - Web Garden 吗? 
http://blog.joycode.com/lostinet/archive/2005/02/02/44017.aspx

Web Farm And Web Garden 
http://www.cnblogs.com/kingclever/archive/2007/12/13/993152.html

Identify which w3wp.exe belongs to which Application Pool in IIS7 
http://dirk.net/2008/06/01/identify-which-w3wpexe-belongs-to-which-application-pool-in-iis7/

你可能感兴趣的:(应用程序池 与 W3WP.exe 进程的对应关系)