相容性
| 版本 | 備註 |
|---|---|
| IIS 8.0 | NUMA 上的多核心調整是在 IIS 8.0 中引進。 |
| IIS 7.5 | IIS 7.5 不支援 NUMA 上的多核心調整。 |
| IIS 7.0 | IIS 7.0 不支援 NUMA 上的多核心調整。 |
問題
一般而言,增加核心數目應該會增加效能。 不過,有一點在於增加核心數目可能會導致效能降低,因為記憶體同步處理的成本超過 NUMA 硬體與其他核心的優點。 IIS 8.0 藉由在非統一記憶體存取 (NUMA) 硬體上,以智慧方式散發和親和其進程來解決此問題。
解決方法
Windows Server 2012 上的 Internet Information Services (IIS) 具有 NUMA 感知功能,並為 IT 系統管理員提供最佳設定。 下一節說明不同的組態選項,以在 NUMA 硬體上使用 IIS 8.0 達到最佳效能。
IIS 支援下列兩種方式來分割工作負載:
- 在一個應用程式集區中執行多個背景工作進程 (亦即 Web 樹) :如果您使用此模式,則應用程式集區預設會設定為執行一個背景工作進程。 為了達到最大效能,您應該考慮執行與 NUMA 節點相同的背景工作進程數目,讓背景工作進程與 NUMA 節點之間有 1:1 親和性。 您可以將 「背景工作進程上限」 AppPoolsetting 設定為 0 來完成。 在此設定中,IIS 會決定硬體上有多少 NUMA 節點可用,並啟動相同數目的背景工作進程。
- 在單一工作負載/月臺中執行多個應用程式集區:在此設定中,工作負載/月臺會分成多個應用程式集區。 例如,月臺可能包含數個設定為在不同的應用程式集區中執行的應用程式。 實際上,此設定會導致針對工作負載/月臺執行多個 IIS 背景工作進程,而 IIS 會以智慧方式散發和親和化進程,以達到最大效能。
此外,IIS 8.0 有兩種不同的方式可在 IIS 背景工作進程即將啟動時識別最佳的 NUMA 節點。
- 大部分可用的記憶體 (預設) :此方法背後的概念是,具有最可用記憶體的 NUMA 節點最適合用來處理即將啟動的其他 IIS 背景工作進程。 IIS 知道每個 NUMA 節點的記憶體耗用量,並使用這項資訊來「負載平衡」IIS 背景工作進程。
- Windows:IIS 也有選項可讓 Windows OS 做出此決策。 Windows OS 使用迴圈配置資源。
最後,有兩種不同的方式可將執行緒從 IIS 背景工作進程親和至 NUMA 節點。
- 軟親和性 (預設) :如果其他 NUMA 節點具有迴圈,IIS 背景工作進程的執行緒可能會排程到非親和性 NUMA 節點。 這種方法有助於將系統上所有可用的資源極大化。
- 硬式親和性:使用硬式親和性,不論負載可能位於系統上的其他 NUMA 節點上,IIS 背景工作進程的所有線程都會親和至使用上述設計選取的所選 NUMA 節點。
逐步指示
必要條件
- IIS 安裝在 Windows Server 2012 上。
- IIS 進程模型是 IIS 應用程式集區組態的一部分。 不需要從 伺服器管理員 安裝特定的 IIS 功能。
已知 Bug 的因應措施
目前沒有此功能的已知錯誤。
設定步驟
- 開啟 IIS 管理員。
- 在左側導覽視窗中選取 [應用程式集 區]:
![顯示已選取 [應用程式集區] 的螢幕擷取畫面。](iis-80-multicore-scaling-on-numa-hardware/_static/image1.png)
- 選取 [應用程式集區]:
![顯示 [應用程式集區] 窗格的螢幕擷取畫面。預設應用程式集區行會反白顯示。](iis-80-multicore-scaling-on-numa-hardware/_static/image3.png)
- 在 [ 動作 ] 窗格中,選取 [ 進階設定]:
![顯示 [動作] 窗格的螢幕擷取畫面,其中已醒目提示 [進階設定]。](iis-80-multicore-scaling-on-numa-hardware/_static/image5.png)
- 在 [進程模型] 群組底下,找出 [ 最大背景工作進程 ] 設定。
![顯示進程模型群組的螢幕擷取畫面。[背景工作進程上限] 及其值為 1 會反白顯示。](iis-80-multicore-scaling-on-numa-hardware/_static/image7.png)
- 將這個值設定為 0。
您也可以在 [ 進階設定] 下找到最佳的 NUMA 選取邏輯和親和性類型。 不過,只有在 IIS 在 NUMA 硬體上執行時,才會顯示它們。
案例
在升級至 Windows Server 2012 之前和之後,在 NUMA 硬體上執行效能測試。 比較效能結果以查看改善。
總結
您已成功探索 Windows Server 2012 中 NUMA 硬體功能的 IIS 多核心調整。