介绍
当 Windows Server® 2008 R2 开始大量分页时(这可能为 1.5 倍 RAM),HTTP 请求的响应时间会降级。 这在共享托管场景中尤其常见。 凭借 IIS 7 及更高版本中的一项功能,页面文件使用(总提交)可影响工作进程空闲超时,从而减少分配内存时请求响应时间的降级。
默认情况下,空闲超时为 20 分钟。 此超时值由 Windows 进程激活服务 (WAS) 配置。 如果当前空闲超时值大于 WAS 配置的值,则工作进程将启动关闭操作。
IIS dynamicIdleThreshold 属性让管理员能够在达到可配置内存限制时动态减少此空闲超时。 设置的单位为“已提交 RAM 的百分比”。 在共享托管测试中,达到了峰值性能,值为 130。 请注意,当达到 80% 的设置时,空闲超时开始大幅减少。
配置 dynamicIdleThreshold
- 若要将此属性设置为特定值,例如 130%,请打开命令提示符并运行以下命令:
%windir%\system32\inetsrv\appcmd set config -section:system.applicationHost/webLimits -dynamicIdleThreshold:130
使用 IIS PowerShell 提供程序配置 dynamicIdleThreshold
打开 PowerShell 提示符并运行以下命令:
set-webconfigurationproperty /system.applicationHost/webLimits -name dynamicIdleThreshold -value 130
事件日志项
下面介绍了 WAS 可生成的一些事件日志条目。
达到已配置内存阈值的 80%
事件日志 ID | Level | 消息 |
---|---|---|
5192 | 信息 | 提交的内存量正接近需求起始限制。 Windows 进程激活服务 (WAS) 将开始减少所有工作进程的空闲超时值。 工作进程可能会在配置的时间前开始空闲。 当前物理内存使用量:“%2”MB,当前可用物理内存:“%3”MB。 |
达到已配置内存阈值的 90%
事件日志 ID | Level | 消息 |
---|---|---|
5193 | 警告 | 提交的内存量接近或达到配置的限制。 Windows 进程激活服务 (WAS) 将积极减少工作进程的空闲超时值。 工作进程可能会在配置的时间前开始空闲。 当前物理内存使用量:“%2”MB,当前可用物理内存:“%3”MB。 |
重新获得已配置内存阈值的 75%
事件日志 ID | Level | 消息 |
---|---|---|
5194 | 信息 | 提交的内存量已降至高负载级别以下,因此 Windows 进程激活服务 (WAS) 会将工作进程的空闲超时值重置为其原始设置。 当前物理内存使用量:“%2”MB,当前可用物理内存:“%3”MB。 |
新工作进程空闲超时事件日志消息
当系统处于 80% 到 100% 的 dynamicIdleThreshold 范围内,如果工作进程时,WAS 会生成以下事件日志错误消息。 如果 dynamicIdleThreshold 百分比 < 80%,则事件日志消息保持不变。
事件日志 ID | Level | 消息 |
---|---|---|
5195 | 信息 | 为应用程序池“%2”提供服务的进程 ID 为“%1”的工作进程因不活动而被关闭。 系统负载较高,并已将此工作进程的空闲超时从原来的“%3”分钟减少到“%4”分钟。 需要时,新的工作进程将启动。 |