共用方式為


Windows Server 平衡電源計劃的處理器電源管理 (PPM) 微調

從 Windows Server 2008 開始,Windows Server 提供三個電源計劃: 平衡高效能省電器平衡電源計劃是預設選擇,旨在為一組典型的伺服器工作負載提供最佳的能源效率。 本主題描述在過去數個 Windows 版本中,用於判斷 平衡 配置預設設定的工作負載。

如果您執行的伺服器系統具有與這些工作負載截然不同的工作負載特性或效能和電源需求,您可以考慮調整預設電源設定(也就是建立自定義電源計劃)。 實用的微調資訊來源之一是 伺服器硬體電源考慮。 或者,您可能會選擇 高效能 電源計劃,認識到這個選擇可能會導致顯著的能耗增加,以換取系統回應速度的提升。

這很重要

除非您有建立自定義原則的特定需求,而且非常瞭解您的結果會根據工作負載的特性而有所不同,否則您應該運用 Windows Server 隨附的電源原則。

Windows 處理器電源微調方法

測試的工作負載

選擇的工作負載旨在盡力涵蓋「典型」的 Windows Server 工作負載。 顯然,此集合並非代表真實世界伺服器環境的整個廣度。

每個電源原則中的調整是由數據驅動的,這些數據來自於自 Windows Server 2008 開始的以下五個工作負載。

  • IIS 網頁伺服器工作負載

    稱為 Microsoft Web 基礎的內部基準測試可用來優化執行 IIS 網頁伺服器之平臺的能源效率。 安裝程式包含 Web 伺服器和多個用戶端,以模擬 Web 存取流量。 動態、靜態熱(記憶體內部)和靜態冷(需要磁碟存取)網頁的分佈是以生產伺服器的統計研究為基礎。 若要將伺服器的 CPU 核心推送至完整使用率(測試頻譜的一端),安裝程式需要足夠快速的網路和磁碟資源。

  • SQL Server Database 工作負載

    TPC-E 基準檢驗是資料庫效能分析的熱門基準。 它用於生成 OLTP 工作負載以進行 PPM 調整優化。 此工作負載具有大量的磁碟 I/O,因此對於記憶體系統和記憶體大小具有高效能需求。

  • 檔伺服器工作負載

    Microsoft開發的效能評定稱為 FSCT ,可用來產生 SMB 檔伺服器工作負載。 它會在伺服器上建立大型檔案集,並使用許多客戶端系統(實際或虛擬化)來產生檔案開啟、關閉、讀取和寫入作業。 運作組合是以生產伺服器的統計研究作為基礎。 它會對 CPU、磁碟和網路資源造成負擔。

  • SPECpower – JAVA 工作負載

    SPECpower_ssj2008 是第一個業界標準的SPEC基準,可共同評估電源和效能特性。 它是具有不同 CPU 負載層級的伺服器端 Java 工作負載。 它不需要許多磁碟或網路資源,但它有記憶體頻寬的特定需求。 幾乎所有的CPU活動都是在使用者模式中執行;除了電源管理決策之外,內核模式活動對基準效能和效能特性沒有太大的影響。

  • 應用程式伺服器工作負載

    SAP-SD 基準檢驗可用來產生應用程式伺服器工作負載。 系統會使用兩層式設定,搭配資料庫和相同伺服器主機上的應用程式伺服器。 此工作負載也會使用回應時間作為效能計量,這與其他測試的工作負載不同。 因此,它用來驗證 PPM 參數對回應性的影響。 不過,它並非要代表所有延遲敏感的生產工作負載。

SPECpower 以外的所有基準檢驗最初是為效能分析而設計,因此它們被設定為在最負荷層級運行。 不過,對於真實世界生產伺服器而言,中到輕負載層級比較常見,而且對於 平衡 計劃優化更有趣。 我們刻意在不同負載層級下運行基準測試,使用各種節流方法,從100個% 減少到10個%(每次減少10個%),例如通過減少活躍用戶或客戶端的數量。

上述工作負載會使用輸送量作為調整的效能指標。 在穩定狀態期間,輸送量不會隨著不同的使用率而變更,直到系統超載為止(~100% 使用率)。 因此,均衡電源方案非常注重有效的電力管理,通過降低處理器頻率並最大化使用率來達成。 從 Windows Server 2016 開始,快速響應時間的需求大幅增加。 即使 Microsoft 建議使用者在需要快速響應時間時切換到高效能電源模式,但有些使用者在輕到中負載期間不想失去省電效果。 因此,Windows Server PPM 的微調也包含響應時間敏感工作負載的調整。

  • 極客工作臺

    GeekBench 是跨平台處理器效能評定,可分隔單一核心和多核心效能的分數。 它會模擬一組工作負載,包括整數工作負載(加密、壓縮、影像處理等)、浮點工作負載(模型化、分形、影像銳化、影像模糊等)和記憶體工作負載(串流)。

    回應時間 是其分數計算的主要量值。 在我們測試的系統中,Windows Server 2008 的預設平衡電源計畫與 高效能 電源計畫相比,在單核心測試中性能降低約18度%,而多核心測試中性能降低約40度%。 Windows Server 2016 會移除這些回歸。

  • DiskSpd 磁碟

    Diskspd 是由 Microsoft 開發的儲存效能評比命令列工具。 它廣泛使用來針對記憶體系統產生各種要求,以進行記憶體效能分析。

    我們設定了 [故障轉移叢集],並使用 Diskspd 生成隨機和循序讀寫的 IO 操作,對本機和遠端儲存系統進行不同 IO大小的測試。 我們的測試顯示,IO 回應時間對不同電源計劃下的處理器頻率很敏感。 預設的 Windows Server 2008 平衡電源計劃在某些工作負載下的回應時間,可能是 高效能 電源計劃的兩倍。 Windows Server 2016 平衡電源計劃會移除大部分的回歸。

這很重要

從執行 Windows Server 2016 的 Intel [Broadwell] 處理器開始,大部分處理器電源管理決策都是在處理器中做出,而不是作系統層級,以更快速地適應工作負載變更。 OS 所使用的舊版 PPM 參數對實際頻率決策的影響最小,但告知處理器是否應該偏向電源或效能,或限制最小和最大頻率。 因此,此處所述的 PPM 微調結果只會在 Broadwell 前系統上觀察到。

硬體組態

針對每個 Windows 版本,最新的生產伺服器會用於電源計劃分析和優化程式。 在某些情況下,測試是在預產品系統上執行,其發布進度與下一個 Windows 版本同步。

鑒於大多數伺服器是以 1 到 4 個處理器插槽出售的,而放大伺服器較少將能源效率作為主要關注點,因此電力方案優化測試主要在雙插槽和四插槽系統上進行。 在每個測試中選擇 RAM、磁碟和網路資源的數量,以便讓每個系統都能運行至其最大容量,同時考量通常適用於真實世界伺服器環境的成本限制,例如保持配置合理。

這很重要

即使系統可以在其尖峰負載上執行,我們通常會針對較低的負載層級進行優化,因為以尖峰負載等級持續執行的伺服器最好使用 高效能 電源計劃,除非能源效率是高優先順序。

指標

所有經過測試的基準檢驗都會使用輸送量作為效能計量。 回應時間被視為這些工作負載的 SLA 需求(除了 SAP,其中它是主要計量)。 例如,如果平均或回應時間上限小於特定值,則基準檢驗回合會被視為「有效」。

因此,PPM 微調分析也會使用輸送量作為其效能計量。 在最高負載層級(100% CPU 使用率)時,我們的目標是,由於電源管理優化,吞吐量不應減少超過幾個百分點。 但主要考慮是在中低負載等級將電源效率最大化(如下所述)。

電源效率公式

以較低的頻率執行 CPU 核心可降低能耗。 不過,較低的頻率通常會降低輸送量並增加回應時間。 針對 平衡 電源計劃,存在一個刻意設計的回應性和電源效率取捨。 SAP 工作負載測試及其他工作負載上的回應時間水準協議,確保這些特定工作負載的回應時間增加幅度不會超過特定的閾值(例如 5%)。

備註

如果工作負載對回應時間非常敏感,系統應該切換至 高效能 電源計劃,或變更 平衡 電源計劃,以在執行時大幅增加頻率。

Windows Server 平衡電源計劃預設參數

從執行 Windows Server 2016 的 Intel Broadwell 處理器開始,Windows Server 電源管理會在 Intel 系統上使用 Intel 的硬體控制 P 狀態 (HWP) 作為預設值。 HWP 是一項全新的功能,用於協同控制硬體和軟體的性能。 當啟用 HWP 時,CPU 會監控活動和可擴展性,並在硬體時間尺度上選擇頻率。 OS不再需要以固定的時間間隔監控活動並選擇頻率。 切換至 HWP 有數個優點,例如快速回應、更瞭解 TDP 下處理器和其他元件的硬體電源效率。

針對 HWP 系統,Windows 仍可選擇設定最小和最大處理器狀態,以提供條件約束。 它也可以使用 能源效能喜好設定 (EPP) 參數來設定電源與效能之間的平衡。 較低的數值有利於性能,而較高的數值有利於功率。 預設值 50,用來平衡電源和效能。

參數 Windows Server 2012R2 和之前版本 Windows Server 2016 和更新版本
HWP 已啟用 N/A 英特爾 Broadwell+
能源效能喜好設定 N/A 50

對於 Intel 預先 Broadwell 系統或任何沒有 HWP 支援的系統(例如 AMD 伺服器),Windows 仍處於完全控制狀態,並根據 PPM 參數決定處理器頻率。 Windows Server 2012R2 中的預設 PPM 參數過於偏重省電,因此可能會顯著影響工作負載效能,尤其是對間歇性工作負載影響更大。 Windows Server 2016 RS2 中已變更四個 PPM 參數,讓頻率在中等負載層級上更快增加。

參數 Windows Server 2016 (RS1) 和之前版本 Windows Server 2016 (RS2) 和更新版本
處理器效能增加閾值 90 六十
處理器效能降低的閾值 80 40
處理器效能提升所需時間 3 1
處理器效能提升原則 單身 理想

以 CPU 使用率為基礎的電源管理演算法可能會損害 IO 或網路密集型工作負載的延遲。 在等候 IO 完成或網路封包時,邏輯處理器可能會閒置,因此整體 CPU 使用率較低。 若要解決此問題,Windows Server 2019 會自動偵測 IO 回應性期間,並將頻率下調至較高層級。 不論系統是否使用 HWP,下列參數都可以調整行為。

參數 Windows Server 2019 之前 Windows Server 2019 和更新版本
處理器反應速度覆寫啟用閾值 N/A 10
處理器回應性覆蓋停用臨界值 N/A 5
處理器回應性覆寫啟用時間 N/A 1
處理器回應性覆寫停用時間 N/A 3
處理器回應性覆蓋能源效能喜好上限 N/A 100
處理器響應能力覆蓋效能基準 N/A 100

個性化調整建議

如果您的主要工作負載特性與用於預設 平衡 電源計劃 PPM 微調的五個工作負載有顯著差異,您可以藉由改變一或多個 PPM 參數來實驗,以找出最適合您的環境。

由於參數的數目和複雜度,這可能是一項具有挑戰性的工作,但如果您要尋找能源耗用量與工作負載效能之間最適合您特定環境之間的取捨,則可能值得付出努力。

您可以在 處理器電源管理微調中找到一整套可調整的 PPM 參數。 一些要開始使用的最簡單電源參數可能是:

針對已啟用 HWP 的系統:

  • 能源效能偏好設定 – 較大的值偏重電力效能而非性能

針對非 HWP 系統:

  • 處理器效能增加閾值和處理器效能增加時間 – 較大的值會減緩對增加活動的效能回應

  • 處理器效能降低閾值 – 大型值可加快閑置期間電源回應

  • 處理器效能降低時間 – 較大的值會在閑置期間逐漸減少效能

  • 處理器效能提升原則 –「單一」原則會減緩對增加和持續活動的效能回應;“火箭”政策對增加的活動反應迅速

  • 處理器效能降低策略 –「單一」策略會在較長的閒置期間逐漸減少效能;進入閒置期間時,“火箭”策略會迅速降低功耗。

這很重要

開始任何實驗之前,您應該先瞭解工作負載,這可協助您做出正確的 PPM 參數選擇,並減少微調工作。

瞭解高階效能和電源需求

如果您的工作負載需要「即時」處理(例如,容易發生卡頓或其他可見的用戶影響),或者具有回應需求非常緊迫(例如股票券商),而能源消耗不是您環境中的主要考量標準,那麼您應該考慮切換到 高效能 電源計劃。 否則,您應該瞭解工作負載的回應時間需求,然後微調 PPM 參數,以達到仍符合這些需求的最佳可能電源效率。

了解基礎工作負載特性

您應該知道工作負載,並設計用於微調的實驗參數集。 例如,如果 CPU 核心的頻率需要快速增加(也許您有突發性工作負載並伴隨顯著的閒置時間,但當新交易出現時,您需要非常快速的回應性),處理器效能提升原則可能需要設定為“火箭模式”(如這個名稱所示,將 CPU 核心頻率迅速提升至其最大值,而不是在一段時間內逐步增加)。

如果您的工作負載非常不穩定或易突發,PPM 檢查間隔可能會減小,以便讓 CPU 頻率在突發工作負載到達後更快開始提升。 如果您的工作負載沒有高線程並發性,則可以啟用核心停駐,以強制工作負載在較少數量的核心上執行,這也可能會改善處理器快取命中率。

如果您只想增加中等負載水平的 CPU 頻率(即不是輕負載水平),則可以調整處理器效能增減閾值,直到觀察到特定的活動水平才會做出反應。

瞭解週期性行為

白天和夜間或週末的效能需求可能不同,或可能會有不同的工作負載在不同時間執行。 在此情況下,一組 PPM 參數可能不適合所有時間週期。 由於可以設計多個自定義電源計劃,因此甚至可以微調不同的時段,並透過腳本或其他動態系統設定方式在電源計劃之間切換。

同樣地,這會增加優化過程的複雜性,因此這取決於從這種類型的調整中可以獲得多少價值,當有重大硬體升級或工作負載變更時,可能需要重複這種調整。

這就是為什麼 Windows 第一次提供 平衡 電源計劃的原因,因為在許多情況下,它可能不值得針對特定伺服器上的特定工作負載進行手動調整。

另請參閱