Windows Server 2008 以降、Windows Server には、バランス、高パフォーマンス、および省電力の 3 つの電源プランが用意されています。 バランス型電源プランは、一連の一般的なサーバー ワークロードに最適なエネルギー効率を実現することを目的とした既定の選択肢です。 このトピックでは、過去のいくつかのリリースの Windows の Balanced スキームの既定の設定を決定するために使用されたワークロードについて説明します。
ワークロードの特性やパフォーマンスと電力の要件がこれらのワークロードと大幅に異なるサーバー システムを実行する場合は、既定の電源設定のチューニング (つまり、カスタム電源プランの作成) を検討することをお勧めします。 便利なチューニング情報のソースの 1 つは、 サーバー ハードウェアの電源に関する考慮事項です。 または、ある程度の応答性の向上と引き換えに大きなエネルギーヒットが発生する可能性があることを認識して、 高パフォーマンス の電源プランが環境に適した選択であると判断することもできます。
重要
カスタム ポリシーを作成する必要があり、ワークロードの特性によって結果が異なるという理解を深める必要がある場合を除き、Windows Server に含まれる電源ポリシーを活用する必要があります。
Windows プロセッサの電源チューニング手法
テストされたワークロード
ワークロードは、"一般的な" Windows Server ワークロードのベスト エフォート セットを対象として選択されます。 明らかに、このセットは、実際のサーバー環境全体を代表するものではありません。
各電源ポリシーのチューニングは、Windows Server 2008 から開始された次の 5 つのワークロードによって駆動されるデータです
IIS Web サーバーのワークロード
Web Fundamentals と呼ばれる Microsoft 内部ベンチマークは、IIS Web Server を実行するプラットフォームのエネルギー効率を最適化するために使用されます。 セットアップには、Web サーバーと、Web アクセス トラフィックをシミュレートする複数のクライアントが含まれています。 動的、静的ホット (メモリ内)、静的コールド (ディスク アクセスが必要) の Web ページの分散は、運用サーバーの統計調査に基づいています。 サーバーの CPU コアを完全な使用率 (テスト対象の範囲の一端) にプッシュするには、セットアップには十分に高速なネットワークリソースとディスク リソースが必要です。
SQL Server データベース ワークロード
TPC-E ベンチマークは、データベース パフォーマンス分析の一般的なベンチマークです。 PPM チューニングの最適化のために OLTP ワークロードを生成するために使用されます。 このワークロードには重要なディスク I/O があるため、ストレージ システムとメモリ サイズに対する高パフォーマンス要件があります。
ファイル サーバーのワークロード
SMB ファイル サーバー ワークロードを生成するために 、FSCT と呼ばれる Microsoft が開発したベンチマークが使用されます。 サーバー上に大きなファイル セットを作成し、多くのクライアント システム (実際または仮想化) を使用して、ファイルの開き、閉じる、読み取り、書き込み操作を生成します。 操作の組み合わせは、運用サーバーの統計調査に基づいています。 CPU、ディスク、ネットワーク リソースに負荷がかけられます。
SPECpower – JAVA ワークロード
SPECpower_ssj2008 は、電力特性と性能特性を共同で評価する業界標準の SPEC ベンチマークです。 これは、CPU 負荷レベルが異なるサーバー側の Java ワークロードです。 多くのディスクまたはネットワーク リソースは必要ありませんが、メモリ帯域幅に関する特定の要件があります。 ほぼすべての CPU アクティビティがユーザー モードで実行されます。カーネル モード アクティビティは、電源管理の決定を除き、ベンチマークの電源とパフォーマンスの特性に大きな影響を与えません。
Application Server 負荷
SAP-SD ベンチマークは、アプリケーション サーバーワークロードを生成するために使用されます。 データベースとアプリケーション サーバーが同じサーバー ホスト上にある場合は、2 層セットアップが使用されます。 このワークロードでは、パフォーマンス メトリックとして応答時間も利用されます。これは、テストされた他のワークロードとは異なります。 したがって、PPM パラメーターが応答性に与える影響を検証するために使用されます。 ただし、待機時間の影響を受けやすいすべての運用ワークロードを代表するものではありません。
SPECpower を除くすべてのベンチマークは、もともとパフォーマンス分析用に設計されているため、ピーク負荷レベルで実行するように作成されました。 ただし、中程度から軽量の負荷レベルは、実際の運用サーバーではより一般的であり、 バランスプラン の最適化の方が興味深いです。 さまざまな調整方法 (アクティブなユーザー/クライアントの数を減らすなど) を使用して、100% から 10% (10% ステップ) までのさまざまな負荷レベルでベンチマークを意図的に実行します。
上記のワークロードでは、チューニングのパフォーマンス メトリックとしてスループットが使用されます。 安定した状態では、システムが過負荷になるまで、さまざまな使用率でスループットが変化することはありません (最大 100% 使用率)。 その結果、バランスの取れた電源プランは、プロセッサの周波数を最小限に抑え、使用率を最大化することで、非常に多くの電力を優先します。 Windows Server 2016 以降では、迅速な応答時間の要件が大幅に増加しました。 高速応答時間が必要な場合は、ユーザーが高パフォーマンスの電源プランに切り替えるよう Microsoft から提案されましたが、一部のユーザーは、負荷レベルが中程度の場合に電力のメリットを失いたくありません。 そのため、Windows Server PPM チューニングには、チューニングのための応答時間の影響を受けやすいワークロードも含まれます。
ギークベンチ
ギークベンチ は、シングルコアとマルチコアのパフォーマンスのスコアを分離するクロスプラットフォームプロセッサベンチマークです。 これは、整数ワークロード (暗号化、圧縮、画像処理など)、浮動小数点ワークロード (モデリング、フラクタル、画像の鮮明化、画像のぼかしなど) とメモリ ワークロード (ストリーミング) を含む一連のワークロードをシミュレートします。
応答時間は、得点計算の主要な指標です。 テスト済みのシステムでは、Windows Server 2008 の既定のバランス型電源プランには、シングルコア テストでは約 18 個の% 回帰があり、マルチコア テストでは 高パフォーマンス の電源プランと比較して約 40 個の% 回帰があります。 Windows Server 2016 では、これらの回帰が削除されます。
ディスク SPD
Diskspd は、Microsoft によって開発されたストレージ ベンチマーク用のコマンド ライン ツールです。 ストレージ パフォーマンス分析のためにストレージ システムに対してさまざまな要求を生成するために広く使用されています。
[フェールオーバー クラスター] を設定し、Diskspd を使用してランダムおよびシーケンシャルを生成し、IO サイズが異なるローカルストレージシステムとリモートストレージシステムに IO を読み書きしました。 このテストでは、IO 応答時間が異なる電源プランのプロセッサ周波数に依存することが示されています。 既定の Windows Server 2008 バランス電源プランでは、特定のワークロードでの ハイ パフォーマンス 電源プランからの応答時間が 2 倍になる可能性があります。 Windows Server 2016 バランス電源プランでは、ほとんどの回帰が削除されます。
重要
Windows Server 2016 を実行する Intel [Broadwell] プロセッサ以降、ほとんどのプロセッサの電源管理の決定は、ワークロードの変更に対する迅速な適応を実現するために、OS レベルではなくプロセッサで行われます。 OS で使用される従来の PPM パラメーターは、電力またはパフォーマンスを優先する必要があるかどうかをプロセッサに指示したり、最小周波数と最大周波数を制限したりする点を除き、実際の周波数決定に与える影響は最小限です。 したがって、ここで述べた PPM チューニングの結果は、Broadwell より前のシステムでのみ観察されます。
ハードウェア構成
Windows のリリースごとに、最新の運用サーバーが電源プランの分析と最適化プロセスで使用されます。 場合によっては、リリース スケジュールが次の Windows リリースと一致する実稼働前システムでテストが実行されました。
ほとんどのサーバーが 1 ~ 4 個のプロセッサ ソケットで販売されており、スケールアップ サーバーのエネルギー効率が主な懸念事項である可能性が低いため、電源プランの最適化テストは主に 2 ソケットおよび 4 ソケット システムで実行されます。 各テストの RAM、ディスク、およびネットワーク リソースの量は、構成を妥当な状態に保つなど、実際のサーバー環境に対して通常適用されるコスト制限を考慮しながら、各システムが完全な容量まで実行できるように選択されます。
重要
システムはピーク負荷で実行できますが、通常は負荷レベルを低くするために最適化します。これは、エネルギー効率が高い場合を除き、ピーク時の負荷レベルで一貫して実行されるサーバーは 、高パフォーマンス の電力プランを使用することをお勧めします。
メトリック
テストされたすべてのベンチマークでは、パフォーマンス メトリックとしてスループットが使用されます。 応答時間はこれらのワークロードの SLA 要件と見なされます (プライマリ メトリックである SAP を除く)。 たとえば、平均または最大応答時間が特定の値より小さい場合、ベンチマーク実行は "有効" と見なされます。
そのため、PPM チューニング分析では、パフォーマンス メトリックとしてスループットも使用されます。 最大負荷レベル (100% CPU 使用率) では、電源管理の最適化によりスループットを数% 以上減らしてはならないことが目標です。 しかし、主な考慮事項は、中および低負荷レベルで(以下に定義されているように)電力効率を最大化することである。
CPU コアを低い周波数で実行すると、エネルギー消費量が削減されます。 ただし、周波数を低くすると、通常、スループットが低下し、応答時間が長くなります。 バランス型電源プランでは、応答性と電力効率の意図的なトレードオフがあります。 SAP ワークロード テストと、他のワークロードの応答時間 SLA は、応答時間の増加が、これらの特定のワークロードの特定のしきい値 (例として 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 が有効 | なし | インテル Broadwell+ |
エネルギー パフォーマンスの優先設定 | なし | 50 |
Intel Pre-Broadwell システム、または HWP がサポートされていないシステム (AMD サーバーなど) の場合、Windows はまだ完全に制御されており、PPM パラメーターに基づいてプロセッサの周波数が決定されます。 Windows Server 2012R2 の既定の PPM パラメーターは、電力優先であるため、ワークロードのパフォーマンスに大きく影響する可能性があります。特に急激に増加するワークロードのパフォーマンスに影響を与えることがあります。 Windows Server 2016 RS2 で 4 つの 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 以降 |
---|---|---|
プロセッサ応答性オーバーライドのしきい値を有効にする | なし | 10 |
プロセッサ応答性オーバーライドの無効化しきい値 | なし | 5 |
プロセッサ応答性オーバーライド有効化時間 | なし | 1 |
プロセッサの応答性のオーバーライド無効化回数 | なし | 3 |
プロセッサの応答性によって、エネルギー パフォーマンスの優先上限がオーバーライドされる | なし | 100 |
プロセッサの応答性によってパフォーマンス フロアがオーバーライドされる | なし | 100 |
カスタマイズされたチューニング候補
プライマリ ワークロードの特性が、既定の Balanced 電源プラン PPM チューニングに使用される 5 つのワークロードと大きく異なる場合は、1 つ以上の PPM パラメーターを変更して環境に最適なものを見つけることで実験できます。
パラメーターの数と複雑さのため、これは困難な作業になる可能性がありますが、特定の環境に対するエネルギー消費量とワークロードの有効性の最適なトレードオフを探している場合は、努力する価値がある可能性があります。
調整可能な PPM パラメーターの完全なセットは、 プロセッサの電源管理チューニングで確認できます。 最初に使用する最も簡単な電源パラメーターの一部を次に示します。
HWP 対応システムの場合:
- エネルギーパフォーマンスの好み – 値を大きくすると、パフォーマンスよりも電力が優先されます
HWP 以外のシステムの場合:
プロセッサ パフォーマンスの向上しきい値とプロセッサ パフォーマンスの向上時間 – 値を大きくすると、アクティビティの増加に対するパフォーマンスの応答が遅くなります
プロセッサ パフォーマンス低下しきい値 – 大きな値を指定すると、アイドル期間に対する電力応答が速くなります
プロセッサパフォーマンス低下時間 – 大きな値ほどアイドル期間中の性能低下が徐々に進みます
プロセッサのパフォーマンス向上ポリシー – "単一" ポリシーは、増加し、持続的なアクティビティにパフォーマンスの応答を遅くします。「ロケット」ポリシーは、活動の増加に迅速に反応します
プロセッサパフォーマンス低下ポリシー - 「シングル」ポリシーは、より長いアイドル期間にわたって徐々に性能を低下させます。「ロケット」ポリシーは、アイドル期間に入ると非常に速く大幅にパフォーマンスを低下させます。
重要
実験を開始する前に、最初にワークロードを理解する必要があります。これは、適切な PPM パラメーターの選択を行い、チューニング作業を減らすのに役立ちます。
高レベルのパフォーマンスと電力の要件を理解する
ワークロードが "リアルタイム" である場合 (たとえば、グリッチやその他の目に見えるエンドユーザーの影響を受けやすい) か、応答性の要件が非常に厳しい場合 (たとえば、株式仲介)、エネルギー消費量が環境の主要な基準でない場合は、おそらく ハイ パフォーマンス 電源プランに切り替える必要があります。 それ以外の場合は、ワークロードの応答時間の要件を理解してから、PPM パラメーターを調整して、それらの要件を満たす最適な電力効率を得る必要があります。
基になるワークロードの特性を理解する
ワークロードを把握し、チューニング用の実験パラメーター セットを設計する必要があります。 たとえば、CPU コアの頻度を速くする必要がある場合 (おそらく、大量のアイドル期間を伴うバーストワークロードがあるが、新しいトランザクションが発生したときに非常に迅速な応答性が必要な場合)、プロセッサのパフォーマンス向上ポリシーを "rocket" に設定する必要があります (名前が示すように、CPU コアの頻度は一定期間にわたってステップアップするのではなく、最大値に設定されます)。
ワークロードが非常にバーストしている場合は、PPM チェック間隔を短くして、バーストが到着した後に CPU 周波数のステップアップを早く開始できます。 ワークロードのスレッドコンカレンシーが高くない場合は、コア パーキングを有効にして、ワークロードをより少数のコアで強制的に実行させることができます。これにより、プロセッサ キャッシュヒット率が向上する可能性もあります。
CPU 周波数を中使用率レベル (つまり、軽いワークロード レベルではなく) で増やすだけの場合は、プロセッサのパフォーマンスの増減しきい値を調整して、特定のレベルのアクティビティが観察されるまで反応しないようにすることができます。
定期的な動作を理解する
日中と夜間、または週末に異なるパフォーマンス要件がある場合や、異なる時間に実行されるワークロードが異なる場合があります。 この場合、1 組の PPM パラメーターがすべての期間に最適であるとは限りません。 複数のカスタム電源プランを考案できるため、異なる期間にわたって調整したり、スクリプトやその他の動的システム構成手段を使用して電源プランを切り替えたりすることもできます。
繰り返しになりますが、これは最適化プロセスの複雑さが増すので、この種のチューニングからどの程度の価値が得られるかという問題です。これは、ハードウェアの大幅なアップグレードやワークロードの変更が発生したときに繰り返す必要がある可能性があります。
このため、多くの場合、特定のサーバー上の特定のワークロードに対して手動チューニングを行う価値はないため、最初はバランス の取れた 電源プランが Windows によって提供されます。