パフォーマンスの問題は、オーバープロビジョニングやvCPUの選択の貧弱化、VMへの割り当てなど、さまざまな要因によって引き起こされる可能性があります。 これらの戦略を使用して間違いを訂正します。
ハイパーバイザと仮想化テクノロジーは現在、十分に確立されており、エンタープライズ環境で信頼性が高いと証明されていますが、調査と修復が必要な潜在的な問題があります。
オーバーサブスクリプション
仮想CPU(vCPU)とワークロードのパフォーマンスの問題は、vCPUオーバーサブスクリプションによって発生する可能性があります。 通常、1つの論理CPUに対して1つのvCPUを想定します。 たとえば、ハイパースレッディングされていない単一のCPUコアは1つのvCPUを想定し、ハイパースレッディングが有効なシングルCPUコアは2つのvCPUを想定します。 しかし、これを1対1の比率に制限する規則はありません。 同じ論理CPUに複数のvCPUを割り当てることができます。このようなオーバーサブスクリプションにより、物理CPUに実際に存在するCPUリソースよりも多くのCPUリソースがあるとシステムは思っています。 たとえば、VMware vSphere 5.0では、物理コアあたり最大25個のvCPUが設定されています(この場合、最大25対1の比率)。
オーバーサブスクリプションは、ホストサーバー上のVMおよびワークロードがCPUリソースを最小限に使用する場合に正常に動作します。 複数のvCPUが物理コアに割り当てられている場合、内部スケジューリングでは、関連する各vCPU間で物理CPUの使用率が分割されます。 しかし、集中的な処理を必要とするVMは、同じ物理CPU上でvCPUが競合するときに、競合や劣化を容易に経験できます。これは、リソースオーバーサブスクリプションによって引き起こされる絶え間ない脅威です。 一般に、1:1〜3:1の比が許容可能であり、3:1〜5:1の比はいくらかの性能低下を示し、5:1を超える比は問題となり得る。
VMとホストのパフォーマンスメトリックが非常に高いCPU使用率を示す場合、サーバに実装されているオーバープロビジョニングのレベルを下げることが最善の方法です。 新しいCPUモデルでは、以前のCPUモデルよりも高いレベルのオーバープロビジョニングを処理できることがよくあります。
選択と割り当て
オーバーサブスクリプションが禁止されている場合でも、vCPUの選択とVMへの割り当てが不十分なため、vCPUとワークロードのパフォーマンスの問題が発生する可能性があります。 ハイパースレッドCPUコアは、2つの独立した別個のCPUではなく、むしろCPUコアの共通機能を共有する2番目の命令パイプラインであることに注意してください。 基本入出力システムでハイパースレッドを有効にすると、ハイパースレッドCPUは2つの論理CPUとして認識され、両方の論理CPUは通常対応するvCPUに仮想化されます。 問題は、同じ物理コア上の両方のvCPUが2つの要求の高いVMに割り当てられている場合、両方のVMからの計算需要が、より敏感なワークロードのパフォーマンス低下を引き起こすほど十分に大きいことがあります。
VMとホストのパフォーマンスメトリックが非常に高いCPU使用率を示す場合、異なる物理コアからのvCPUを割り当てることが最善の方法です。 たとえば、サーバが2コアのハイパースレッドCPUを使用しているとします。 オーバーサブスクリプションがないと仮定すると、第1のコアにはCPU0とCPU1、第2のコアにはCPU2とCPU3と表示される4つのvCPUが存在します。 1つの要求VMがCPU 0を使用しており、2番目の要求VMがCPU 1を使用して同じCPUコアを共有している場合、CPU 2またはCPU 3のいずれかを使用するようにVMの1つを変更することによって、 第2のコア上にある。 負荷の軽いもう1つのワークロードでは、いずれかのコアで残りのvCPUを使用できます。 管理者は、CPUアフィニティおよびアンチアフィニティルールを使用して、VMが使用する必要のあるCPUと使用しないCPUを規定することがよくあります。
VMとホストのパフォーマンスメトリックが非常に高いCPU使用率を示す場合、異なる物理コアからのvCPUを割り当てることが最善の方法です。
すべての管理者は、CPUリソース、およびVM全体のCPUリソースをハイパーバイザが仮想化および管理する方法(vCPUをワークロードに評価およびプロビジョニングする方法)に精通している必要があります。 vCPUのオーバープロビジョニングは、より高いVM数をサポートするのに役立ちますが、厳しいワークロードに対するパフォーマンスの低下を招く可能性があります。 VMのパフォーマンスは、vCPUの貧弱な割り当ての影響を受ける可能性があります。 オーバープロビジョニングを制限し、アフィニティルールを適用してVMのvCPUの配置を導くことで、ビジー状態のエンタープライズサーバーのCPUパフォーマンスのボトルネックを緩和できます。
原文はこちら
関連トピックス:
- vCPUアフィニティおよびアンチアフィニティ機能を理解する [VMware]
- Amazon Web Services(AWS)管理コンソールでvCPU透明性を確保
- vSphereパフォーマンスを最大化させるための仮想化ハードウェア基準
- Q: VMware vSphere 5.0 FT(Fault Tolerance)でのVMのリクアイアメントは?
- vSphere 6では、スナップショット統合問題はもう過去のこと!
- サーバ統合効率アップへの5つの手法【仮想化プラットホーム VMware vSphere】
- 仮想環境でのメモリ管理について【仮想化プラットホーム VMware vSphere】
- VMware環境の設計に欠かせないリファレンス アーキテクチャ