通过回收应用程序池设置,可以控制如何恢复系统资源。以下几节介绍如何指定回收应用程序池设置。
指定回收应用程序池设置
回收应用程序池设置是在应用程序池的属性对话框的“回收”选项卡中指定的。
设置回收应用程序池设置
- 打开 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,并依照这一顺序发送。然后为其他请求重复该循环。
使用辅助进程隔离模式的网络园中的应用程序池参数
某些应用程序池设置具有特定于网络园的行为。下表总结了这些行为。
应用程序池设置 | 行为 |
---|---|
AppPoolQueueLength | 此参数的值不受影响。但是,请求是通过在所有为网络园提供服务的辅助进程上循环而分发的。 |
DisallowOverlappingRotation | 网络园中没有行为更改。 |
DisallowRotationOnConfigChange | 网络园中没有行为更改。 |
IdleTimeout | 为每一进程独立计算,这样各进程的超时可以彼此独立。根据所选择的路由算法,将自动配置要加载的进程的数目。 |
LoadBalancerCapabilities | 网络园中没有行为更改。 |
OrphanAction | 网络园中没有行为更改。 |
OrphanWorkerProcess | 网络园中没有行为更改。 |
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”,然后单击“添加到组”。
- 单击“添加”按钮并输入要用于辅助进程的帐户