您好,
在擁有數萬台用戶端的大型環境中,IIS 的 WsusPool 達到預設的 1,000 個 pending requests 上限是很常見的情況,進而導致 HTTP 503 錯誤。關鍵在於同時調整 Application Pool 與 IIS 的 concurrency 相關參數,讓 WSUS 能夠承受更高的請求負載。
首先,可以在 IIS Manager 中將 WsusPool 的 QueueLength 屬性安全地提高至更大的數值,例如 25,000 或更高,實際數值則應根據環境規模決定。這可以避免 IIS 過早拒絕進入的 requests。同時,也可以調整 Registry 或 configuration 中的 appConcurrentRequestLimit,確保 IIS 能夠並行處理更多 requests。不過,需要根據 WSUS Server 的 CPU 與記憶體資源進行適當平衡,避免單純提高 concurrency 而導致系統資源耗盡。
此外,也建議檢查 WsusPool 的 Private Memory Limit 以及 recycling settings。適度提高 Private Memory Limit,或在 peak hours 期間停用 automatic recycling,可以降低 Application Pool recycle 導致服務中斷的情況。部分管理員也會在多台 WSUS Server 前方部署 load balancer,將 client traffic 分散到不同的 WSUS Server,以降低單一伺服器的負載。
除了調整 queue length 之外,也可以考慮啟用 client-side throttling,或錯開 clients 的 update reporting intervals,以降低大量 clients 同時進行 check-in 所產生的 traffic burst。這可以透過 Group Policy 進行設定,將 clients 的 check-in 時間分散到不同時段。
希望以上資訊能對您有所幫助。如果您認為這個回答解決了您的問題,歡迎點選 「Accept Answer」,讓我知道這項建議對您有所幫助。
Jason