VMware 環境での CPU パフォーマンス最適化のポイント

はじめに

VMware 仮想環境における CPU パフォーマンス管理は重要であり、CPU 使用率だけでなく、競合状態にも注目が必要です。CPU によるパフォーマンスの低下は、以下の要因が考えられます。

  1. ホストのサイジング問題:仮想マシンに適切な CPU 数が割り当てられていない。
  2. ゲストのサイジング問題:仮想マシンに適切な vCPU 数が割り当てられていない。

これらの問題を判断するために、CPU パフォーマンスの指標は以下の通りです。

  • ホスト:75% 程度
  • ゲスト:システムに依存

また、ゲストでの Steal の発生率CPU Ready なども、システムのパフォーマンスを評価するために役立ちます。

Steal とは

Steal time(または stolen time)は、Linux ベースの仮想マシンで利用できる指標です。これは、仮想マシンが要求した CPU リソースがホストから割り当てられなかった時間の割合を示します。Steal timeは、主に top コマンドと vmstat コマンドを使って確認できます。

top コマンドを使った Steal time の確認方法:

  1. ターミナルで top コマンドを実行します。
  2. CPU 使用率の行にある %st が Steal time を示します。

top コマンドの実行例:

> top
top - 19:29:10 up 4 min,  3 users,  load average: 0.24, 0.23, 0.10
Tasks: 128 total,   2 running, 126 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   1023924k total,   606252k used,   417672k free,    30820k buffers
Swap:  2064344k total,        0k used,  2064344k free,   374476k cached

vmstat コマンドを使った Steal time の確認方法:

  1. ターミナルで vmstat 2(2秒間隔で更新)や vmstat 5(5秒間隔で更新)のように、任意の更新間隔で vmstat コマンドを実行します。
  2. 出力結果の最後の列にある st が Steal time を示します。

vmstat コマンドの実行例:

# vmstat 2
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0 417680  30888 374472    0    0  1223   122 1056  338  3  3 87  7  0
 0  0      0 417680  30888 374500    0    0     0     0  977  177  0  0 100  0  0
 0  0      0 417680  30888 374500    0    0     0     0  976  180  0  0 100  0  0

Steal time が増加している場合、仮想マシンが CPU リソースを十分に得られていない可能性があります。これは、他の仮想マシンとCPU リソースの競合が発生しているか、ホストがオーバーコミットされていることを示すことがあります。その場合、ホストのリソース調整や仮想マシンの移動が必要になることがあります。

注意:Steal time は、Linux ベースの仮想マシンでのみ利用できる指標です。Windows ベースの仮想マシンでは、代わりにハイパーバイザーに関するパフォーマンスカウンタを確認する必要があります。

CPU Ready とは

物理 CPU コアが別の仮想マシンで使用され、競合が発生し、ESXi でスケジューリングされた vCPU が待ちを強いられている時間を示します。具体的な時間(ms)が確認できる点で、Stealと異なります。vCPU あたり 20秒 の累積の参考値として、2000-4000ms 程度が目安です。CPU Ready の確認は、vSphere のパフォーマンスチャートから行います。

vSphere Client (HTML5)を使った CPU Ready の確認方法:

  1. vSphere Client (HTML5) でゲスト仮想マシンを選択し、[モニター] タブを開きます。
  2. [パフォーマンス] サブタブの中から “CPU” を選択します。
  3. 右上の歯車アイコンをクリックして、[グラフ オプション] を開きます。
  4. CPU カウンタの中から [準備完了] にチェックを入れ、[適用] をクリックします。
  5. CPU Ready(準備完了)のグラフが表示されるので、パフォーマンスを確認します。

以上

参考書籍

created by Rinker
¥4,070 (2024/12/05 15:54:40時点 楽天市場調べ-詳細)