如何使用 powershell 设置 IIS 应用程序池 Cpu 速率限制

How to setup IIS App Pool Cpu rate limit using powershell

我正在尝试设置 cpu 速率限制 我能够在 UI 中使用操作 link

执行此操作

https://theitbros.com/set-cpu-usage-limit-for-an-application-pool-iis-8/

但我想使用 powershell 设置以下三个值

CPU limit=20%
CPU limit Action= Killw3p
Cpu Limit Interval= 1

我已经在使用 powershell 将启动模式设置为始终 运行。

set-itemproperty IIS:\AppPools\AddressBroker.API -name startMode -value AlwaysRunning

我试过类似下面的方法,但没有用。

set-itemproperty IIS:\AppPools\AddressBroker.API -name CPU -value Limit=20%

根据您的描述,我建议您可以尝试使用以下命令来实现您的要求。

C:\windows\system32\inetsrv\appcmd.exe set apppool /cpu.limit:20000 /cpu.action:KillW3wp /cpu.resetInterval:00:01:00

结果:

我发现下面是适合我的正确命令。

C:\windows\system32\inetsrv\appcmd.exe set apppool AppPOOLName /cpu.limit:20000 /cpu.action:KillW3wp /cpu.resetInterval:00:01:00

如果您正在寻找 PowerShell 解决方案,则需要更正 属性 名称:

Import-Module WebAdministration
$appPool = Get-Item IIS:\AppPools\AddressBroker.API
$appPool | Set-ItemProperty -name "cpu.limit" -value 20000
$appPool | Set-ItemProperty -name "cpu.action" -value "ThrottleUnderLoad"
$appPool | Set-ItemProperty -name "startMode" -value "AlwaysRunning"