summary about application pool

What is application pool?

http://technet.microsoft.com/en-us/library/cc735247%28v=ws.10%29.aspx

An Internet Information Services (IIS) application pool is a grouping of URLs that is routed to one or more worker processes. Because application pools define a set of Web applications that share one or more worker processes, they provide a convenient way to administer a set of Web sites and applications and their corresponding worker processes. Process boundaries separate each worker process; therefore, a Web site or application in one application pool will not be affected by application problems in other application pools. Application pools significantly increase both the reliability and manageability of a Web infrastructure.

 

 Each pool can manage requests for one or more unique Web applications, which you assign to the application pool based on their URLs。

web application ---------->URL------------->Application pool.

 

Request----->Application pool--------URLs--------------->web application.

 

An application, as defined by its URL, can only be served by one application pool at any time. While one application pool is servicing a request, you cannot route the request to another application pool. However, you can assign applications to another application pool while the server is running.

 

一个web application 只能被一个application pool运行。

 

application pool对应着不同URL的集合,那么每个application pool都有worker process来处理。

Request----->根据application pool------------------>worker process.

Request----->?????-------------------------------->worker process.

Internet Information Services (IIS) worker processes serve an application pool and can be in a starting, running, stopping, or unknown state. In IIS 7.0, worker processes are managed by WAS (the Windows Process Activation Service). If a worker process fails to respond, it may be recycled by WAS.

 

一个w3wp.exe serve an application pool, application pool 不是进程,也不是什么其他的东西,他是一组配置。包括URLs,worker process, 托管模式等。

HTTP.sys------------------URL----------------->Application Pool(ULRs, configuration)<--------------------worker process.

 

 

Applications cannot run unless they are associated with an application pool.

 

 

When we think to desktop applications like notepad, we know that each time we run it, O.S. defines a new process (notepad.exe in our example).

Is it true for web application? No, a web application needs a host process to be executed, it means a process that carries on the web application and allows its execution. Starting from IIS6 this process is called w3wp.exe.
Please pay attention, a web application runs on top of an application pool that you define in IIS. An application pool, can be associated to one or more worker process.

 

IIS中webapplication 不是以webapplication为基本单位的,而是以工作进程为基本单位的。

webapplication依赖于application pool,先有application pool,再有webapplication, web application needs a host process to be executed, such as worker process called w3wp.exe.

 

in w3wp.exe中的web application 会互相影响,那么就需要不同的w3wp.exe.

 

web application 可以放在同一个w3wp.exe中,共享配置,比如.NET version, 托管管道模式设置。

 

stop application pool, 意味着application pool中的所有w3wp.exe都被stop。

 

application pool,用来配置w3wp.exe的配置,和web application 无关。

http://technet.microsoft.com/en-us/library/cc753449%28v=ws.10%29.aspx

http://www1.huachu.com.cn/read/readbookinfo.asp?sectionid=1000000545

http://blog.csdn.net/summer_grass/article/details/2509856

http://technet.microsoft.com/en-us/library/cc754494%28v=ws.10%29.aspx

http://technet.microsoft.com/en-us/magazine/2006.01.servingtheweb.aspx

 

http://adopenstatic.com/cs/blogs/ken/archive/2008/01/29/15759.aspx

 

原文地址:https://www.cnblogs.com/daishuguang/p/3073897.html