转载来源:http://doc.51windows.net/iismmc/?url=/iismmc/htm/ca_cfgapppools.htm
为什么要配置应用程序池
要点 只有在工作进程隔离模式下运行时才能使用这个 IIS 6.0 功能。
应用程序池是将一个或多个应用程序链接到一个或多个工作进程集合的配置。因为应用程序池中的应用程序与其他应用程序被工作进程边界分隔,所以某个应用程序池中的应用程序不会受到其他应用程序池中应用程序所产生的问题的影响。
通过创建新的应用程序池以及为其指派网站和应用程序,可以使您的服务器更加有效、可靠,同时也可以使您的其他应用程序一直保持可用状态,即使当为新应用程序池提供服务的工作进程出现问题时。
创建应用程序池的原则
在配置应用程序池时请考虑以下原则:
- 要隔离运行在同一台计算机上但属于不同网站的 Web 应用程序,请为每个网站创建单独的应用程序池。
- 为了增强安全性,请为每个应用程序池配置唯一的用户帐户(进程标识)。请使用具有尽量少的用户权利的帐户,例如 IIS_WPG 组中的网络服务帐户。
- 如果在同一台服务器上同时存在一个应用程序的测试版和正式发行版,请将这两个版本的应用程序分隔到两个不同的应用程序池中。这样做可以隔离该应用程序的测试版本。
- 作为设计上的考虑,如果您想配置一个应用程序以其特有的一组属性来运行,请为这个应用程序单独创建一个应用程序池。
要点 您必须是本地计算机上 Administrators 组的成员或者您必须被授予了相应的权限才能执行下列步骤。作为安全性的最佳操作,请使用不属于 Administrators 组的帐户登录计算机,然后使用运行方式命令以管理员身份运行 IIS 管理器。在命令提示符下,键入 runas /user:administrative_accountname "mmc %systemroot%\system32\inetsrv\iis.msc"。
创建新应用程序池
- 在 IIS 管理器中,展开本地计算机,右键单击“应用程序池”,指向“新建”,然后单击“应用程序池”。
- 在“应用程序池名称”框中,输入新的应用程序池名称。
- 如果在“应用程序池 ID”框中出现的 ID 不是您想要的,那么请输入一个新的 ID。
- 在“应用程序池设置”中,单击适当的设置。如果您单击了“将现有应用程序池作为模板”,请在“应用程序池名称”框中右键单击想要用来作为模板的应用程序池。
- 单击“确定”。
将应用程序指派到应用程序池
- 在 IIS 管理器中,右键单击您要为其指派应用程序池的应用程序,然后单击“属性”。
- 单击“虚拟目录”、“目录”或“主目录”选项卡。
- 如果您正在指派一个目录或虚拟目录,请验证“应用程序名”是否已被填写。如果“应用程序名”框尚未被填写,请单击“创建”,然后输入名称。
- 在“应用程序池”列表框中,单击您想要为其指派网站的应用程序池的名称。
- 单击“确定”。
相关参数配置:
- 打开 IIS 治理控制台,单击加号展开本地计算机。
- 单击加号展开“应用程序池”文件夹。
- 右击适当的应用程序池,然后单击“属性”。出现应用程序池的属性对话框。
- 单击“回收”选项卡,然后设置适当的应用程序池设置。
应用程序池“属性”对话框的“回收”选项卡
内存回收
“内存回收”是等效于 memoryLimit ASP.NET 进程模型设置的应用程序池设置。它指定辅助进程可以使用的最大内存量。假如辅助进程超出了这一数量,将创建新的进程来替换它,并且当前所有请求都被重新分配给该新进程。在 memoryLimit ASP.NET 进程模型设置与“内存回收”应用程序池设置之间有两个重要的区别:
- memoryLimit ASP.NET 进程模型设置只使用物理内存。“内存回收”应用程序池设置答应您为物理内存和虚拟内存分别指定限制。由于公共语言运行库的垃圾回收器工作的方式,物理内存(或物理内存和虚拟内存的组合)常用于 ASP.NET 应用程序。虚拟内存常用于将堆划分为多个片断的传统本机应用程序。
- “内存回收”应用程序池设置是按兆字节 (MB) 指定的,而不是按相对于总内存的百分比指定的。
回收辅助进程
“回收辅助进程”是等效于 requestLimit ASP.NET 进程模型设置的应用程序池设置。它指定导致辅助进程或应用程序池被回收的请求的数目。默认情况下“回收辅助进程”是禁用的。若要启用“回收辅助进程”,请选取该复选框并在数值调节框中指定请求数。
回收多个辅助进程
“回收多个辅助进程”是等效于 timeout ASP.NET 进程模型设置的应用程序池设置。它指定回收辅助进程或应用程序池的时间间隔。默认情况下“回收多个辅助进程”是启用的而且设置为 120 分钟。通过更改数值调节框中的值,可以指定一个不同的时间间隔。若要禁用“回收多个辅助进程”,请清除该复选框。
性能应用程序池设置
通过性能应用程序池设置,可以控制辅助进程的操作。以下几节描述如何指定性能应用程序池设置。
指定性能应用程序池设置
性能应用程序池设置是在应用程序池的属性对话框的“性能”选项卡中指定的。
设置性能应用程序池设置
- 打开 IIS 治理控制台,单击加号展开本地计算机。
- 单击加号展开“应用程序池”文件夹。
- 右击适当的应用程序池,然后单击“属性”。出现应用程序池的属性对话框。
-
单击“性能”选项卡,然后设置适当的应用程序池设置。
应用程序池“属性”对话框的“性能”选项卡
网络园
“网络园”是等效于 webGarden 和 cpuMask ASP.NET 进程模型设置的应用程序池设置。若要启用“网络园”,请将“辅助进程的最大数目”设置为高于 1 的值。该值还为应用程序池确定最大进程数。
因为网络园支持使用多个进程,所以,每一进程在应用程序状态、进程内会话状态、缓存和静态数据方面都有其自己的副本。网络园不应用于所有应用程序,尤其在这些应用程序需要维护状态的情况下。在决定网络园模式是否适用前,一定要检查应用程序的性能。
在使用网络园时,理解会话状态和循环工作的方式是十分重要的。考虑其他应用程序池设置影响应用程序的方式也是十分重要的。
使用辅助进程隔离模式的网络园中的会话状态
在使用会话状态时,请注重,辅助进程隔离模式不支持将请求传送回引起请求返回的进程。当一个应用程序运行在处于 ASP 会话状态或应用程序状态的网络园中时,该应用程序需要将其请求发送回发起的进程。在使用 IIS 6.0 应用程序池时,要确保应用程序让一个连接总保持为打开状态,以便其请求被发送回适当的进程。假如此连接没有保持为打开状态,则请求将被发送到为网络园提供服务的下一可用的辅助进程。
使用辅助进程隔离模式的网络园中的循环
循环是一种用于应用程序的负载平衡方法。在每个请求到达时,它会自动被发送到下一可用进程。例如,假如网络园具有 4 个进程,则请求被发送到进程 0、1、2 和 3,并依照这一顺序发送。然后为其他请求重复该循环。
使用辅助进程隔离模式的网络园中的应用程序池参数
某些应用程序池设置具有特定于网络园的行为。下表总结了这些行为。
网络园中没有行为更改。