当前位置首页 > IIS知识

IIS应用程序池设置

阅读次数:188 次  来源:admin  发布时间:

转载来源: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,并依照这一顺序发送。然后为其他请求重复该循环。

使用辅助进程隔离模式的网络园中的应用程序池参数

某些应用程序池设置具有特定于网络园的行为。下表总结了这些行为。

网络园中没有行为更改。 PeriodicRestartTime 此参数的含义在网络园中发生了变化。在网络园中,此参数指定回收所有进程的时间间隔。进程在指定时间长度内以平均的时间间隔轮流回收。例如,假如网络园具有四个进程并且 PeriodicRestartTime 被设置为 20 小时,则在 5 小时后回收第一个进程,在 10 小时后回收第二个进程,依此类推。 注重假如进程崩溃,则向替代进程提供 PeriodicRestartTime 的运行时值。这使得崩溃的进程可以在指定的 PeriodicRestartTime 内与其他进程一起回收。PeriodicRestartRequests 此参数的含义在网络园中发生了变化。在网络园中,此参数指定在达到某一请求数目后回收所有进程。进程在指定的请求数目内按平均时间间隔轮流回收。例如,假如网络园具有四个进程并且 PeriodicRestartRequests 设置为 40,000 个请求,则第在 10,000 个请求后回收一个进程,在 20,000 个请求后回收第二个进程,依此类推。在回收了第一组进程后,将向下一组进程指派 40,000 这一 PeriodicRestartRequests 值。 PeriodicRestartSchedule 网络园中没有行为更改。假如治理员决定使用基于时间表的回收,则同时回收所有网络园进程。 PingInterval 网络园中没有行为更改。 PingResponseTime 网络园中没有行为更改。 PingingEnabled 网络园中没有行为更改。 RapidFailProtection 网络园中没有行为更改。例如,在一段时间间隔内计算整个网络园的失败总数然后进行比较。这提供了额外的恢复能力。 RapidFailProtectionInterval 网络园中没有行为更改。例如,在一段时间间隔内计算整个网络园的失败总数然后进行比较。这提供了额外的恢复能力。 RapidFailProtectionMaxCrashes 网络园中没有行为更改。例如,在一段时间间隔内计算整个网络园的失败总数然后进行比较。这提供了额外的恢复能力。 SMPAffinitized 网络园中没有行为更改。 SMPProcessorAffinityMask 在 IIS 5.0 隔离模式中,您只能具有与 CPU 的数目一样多的辅助进程。在辅助进程隔离模式中,多个 CPU 可用于单个辅助进程。 ShutdownTimeLimit 网络园中没有行为更改。 StartupTimeLimit 网络园中没有行为更改。 空闲超时

“空闲超时”是等效于 idleTimeout ASP.NET 进程模型设置的应用程序池设置。它指定辅助进程或应用程序池在开始处于不活动状态后,过多长时间将其关闭。默认情况“空闲超时”是启用的而且设置为 20 分钟。通过更改数值调节框中的值,可以指定一个不同的时间限制。若要禁用“空闲超时”,请清除该复选框。

请求队列限制

“请求队列限制”是等效于 restartQueueLimit ASP.NET 进程模型设置的应用程序池设置。它指定在异常终止后等待辅助进程启动时在 ASP.NET ISAPI 中排队的请求的最大数目。默认情况下“请求队列限制”是启用的而且设置为 1000 个请求。通过更改数值调节框中的值,可以对排队的请求的数目指定不同的限制。若要禁用“请求队列限制”,请清除该复选框。

健全应用程序池设置

通过健全应用程序池设置,您可以控制为获得正确功能而监视辅助进程的方式。以下几节描述如何指定健全应用程序池设置。

指定健全应用程序池设置

这些回收应用程序池设置是在应用程序池的属性对话框的“健全”选项卡中指定的。

设置健全应用程序池设置

打开 IIS 治理控制台,单击加号展开本地计算机。 单击加号展开“应用程序池”文件夹。 右击适当的应用程序池,然后单击“属性”。出现应用程序池的属性对话框。 单击“健全”选项卡,然后设置适当的应用程序池设置。

应用程序池“属性”对话框的“健全”选项卡

启用 Ping

“启用 ping”是等效于 pingFrequency ASP.NET 进程模型设置的应用程序池设置。它指定 ASP.NET ISAPI 检查辅助进程是否存在的时间间隔。假如没有辅助进程,则重新启动辅助进程。默认情况下“启用 ping”是启用的而且设置为 30 秒。通过更改数值调节框中的值,可以指定一个不同的时间间隔。若要禁用 ping 操作,请清除“启用 ping”复选框。

关闭时间限制

“关闭时间限制”是等效于 shutDownTimeout ASP.NET 进程模型设置的应用程序池设置。它指定提供给辅助进程的用来正常关闭的时间长度。假如辅助进程在指定的时间长度内没有关闭,则 ASP.NET ISAPI 将结束该辅助进程。默认情况下“关闭时间限制”设置为 90 秒。通过更改数值调节框中的值,可以指定一个不同的时间限制。

标识应用程序池设置

通过标识应用程序池设置,可以指定辅助进程使用的帐户。默认情况下,辅助进程使用“网络服务”(Network Service) 帐户。不过,您可以重写此帐户并指定其他的 Windows 标识。以下几节描述如何指定标识应用程序池设置。

指定标识应用程序池设置

这些回收应用程序池设置是在应用程序池的属性对话框的“标识”选项卡中指定的。

设置标识应用程序池设置

打开 IIS 治理控制台,单击加号展开本地计算机。 单击加号展开“应用程序池”文件夹。 右击适当的应用程序池,然后单击“属性”。出现应用程序池的属性对话框。 单击“标识”选项卡,然后设置适当的

应用程序池“属性”对话框的“标识”选项卡

用户名和密码

“用户名”和“密码”分别是等效于 username 和 password ASP.NET 进程模型设置的应用程序池设置。这两种设置结合使用来使辅助进程使用指定的 Windows 标识运行。默认情况下,辅助进程使用“网络服务”(Network Service) 帐户。但是,假如选择了“可配置”单选按钮并且“用户名”和“密码”文本框包含有效值,则辅助进程将使用指定的 Windows 标识。此外,必须将 Windows 标识添加到 IIS_WPG 用户组。

将 Windows 标识添加到 IIS_WPG 用户组

在“开始”菜单上,右击“我的电脑”,然后单击“治理”。 通过右击加号展开“本地用户和组”节点。 单击“组”文件夹。在右窗格中将列出在该计算机上定义的所有组的列表。 右击“IIS_WPG”,然后单击“添加到组”。 单击“添加”按钮并输入要用于辅助进程的帐户

上一篇:linux下php的一些问题
下一篇:Nginx、LVS及HAProxy负载均衡软件的优缺点详解