Windows-Server-2012-R2

IIS 8.5 和 10,可以為 IIS 請求/回收設置的最大值?

  • June 15, 2021

根據 DISA,我們需要為請求設置回收選項。我似乎無法追踪這應該是什麼最大值或計數器何時重新啟動?如果應用程序池配置為在午夜回收,請求計數器不應該重置為 0 嗎?我們將我們認為的上限設置為 99,999,但這似乎每天中午左右在我們所有 3 台平衡伺服器上都會受到影響。有時在私有字節限制被擊中後不久(也必須為每個 STIG 設置,但大約是總 OS 記憶體的 70%)發出另一個回收請求,我認為有太多排隊的請求正在處理或垃圾收集正在掙扎(因此cpu/mem 峰值)在工作負載高峰期間發出完整的垃圾收集。我已經看到 IIS 6.5 有 35,000 個請求但不能 似乎找不到關於 IIS 8.5 和 IIS 10 的最大值的良好指導(當我們遷移時)。我們沒有註意到我們達到了請求限制,因為在 IIS 8.5 中預設沒有啟用日誌記錄,但在 IIS 10 中。我們還注意到綁定到 ssl 證書綁定到的預設站點的父 defaultapppool 確實觸發針對子應用程序池的完整垃圾收集事件(可能是因為共享配置設置的安全性)。如果有人需要一個方便的腳本來將所有池設置為在午夜回收/為 iis 8.5 啟用日誌記錄,則如下所示。我們還注意到綁定到綁定 ssl 證書的預設站點的父級 defaultapppool 確實觸發了針對子應用程序池的完整垃圾收集事件(可能是因為共享配置設置的安全性)。如果有人需要一個方便的腳本來將所有池設置為在午夜回收/為 iis 8.5 啟用日誌記錄,則如下所示。我們還注意到綁定到綁定 ssl 證書的預設站點的父級 defaultapppool 確實觸發了針對子應用程序池的完整垃圾收集事件(可能是因為共享配置設置的安全性)。如果有人需要一個方便的腳本來將所有池設置為在午夜回收/為 iis 8.5 啟用日誌記錄,則如下所示。

Import-Module WebAdministration
Get-ChildItem –Path IIS:\AppPools | ForEach-Object{

$appPoolName = $_.name
$appPool = Get-Item "IIS:\AppPools\$appPoolName"
$appPool.recycling.logEventOnRecycle = "Time, Requests, Schedule, Memory, IsapiUnhealthy, OnDemand, ConfigChange, PrivateMemory"
$appPool.Recycling.periodicRestart.time = "0"
clear-ItemProperty "IIS:\AppPools\$appPoolName" -Name Recycling.periodicRestart.schedule #clear values
set-ItemProperty "IIS:\AppPools\$appPoolName" -Name Recycling.periodicRestart.schedule -Value @{value="00:00:00"}
$appPool | Set-Item

}

從評論中複製。

requests如果我們將討論範圍限制為特定設置(也稱為IIS 應用程序池配置),那麼該設置沒有上限(至少從 IIS XML 模式得出)。

您可以設置任何值,只要它是有效的uint.

引用自:https://serverfault.com/questions/1066098