如何通过PowerShell或appcmd设置IIS压缩的应用程序池磁盘空间限制
IIS「Per application pool disk space limit」参数配置方案
这个参数属于服务器级别的httpCompression配置节,存储在applicationHost.config文件中,无法通过站点级web.config配置,以下是两种可直接落地的配置方式:
使用appcmd配置
以管理员身份打开命令提示符,执行以下命令即可修改配置,数值单位为MB:
%windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/httpCompression /perApplicationPoolDiskSpaceLimit:"你要设置的数值" /commit:apphost
示例:设置单应用池压缩磁盘空间上限为200MB
%windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/httpCompression /perApplicationPoolDiskSpaceLimit:"200" /commit:apphost
注意:必须携带
/commit:apphost参数,否则配置会因无法写入站点级配置文件报错。
配置完成后可通过以下命令校验是否生效:
%windir%\system32\inetsrv\appcmd.exe list config -section:system.webServer/httpCompression
在输出内容中找到perApplicationPoolDiskSpaceLimit字段,对应值即为当前生效配置。
使用PowerShell配置
以管理员身份打开PowerShell,先加载IIS管理模块(高版本Windows Server会自动加载,可跳过此步):
Import-Module WebAdministration
执行以下命令完成配置,数值单位为MB:
Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -filter "system.webServer/httpCompression" -name "perApplicationPoolDiskSpaceLimit" -value 你要设置的数值
示例:设置单应用池压缩磁盘空间上限为200MB
Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -filter "system.webServer/httpCompression" -name "perApplicationPoolDiskSpaceLimit" -value 200
配置校验命令:
Get-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -filter "system.webServer/httpCompression" -name "perApplicationPoolDiskSpaceLimit" | Select-Object Value
补充说明
- 该参数仅在IIS 7.0及以上版本生效,设置为
0代表不对单应用池压缩缓存空间做限制。 - 配置默认自动生效,无需重启IIS服务,若需要强制刷新配置可执行
iisreset。 - 对应GUI界面参考截图:

内容的提问来源于stack exchange,提问作者Ed Pollnac
相关产品推荐
相关产品推荐

