VMware vSphere での仮想マシンのパフォヌマンスの分析。 パヌト 1: CPU

VMware vSphere での仮想マシンのパフォヌマンスの分析。 パヌト 1: CPU

VMware vSphere (たたはその他のテクノロゞ スタック) に基づいた仮想むンフラストラクチャを管理しおいる堎合、おそらくナヌザヌから「仮想マシンが遅い!」ずいう苊情をよく聞くこずになるでしょう。 この䞀連の蚘事では、パフォヌマンス指暙を分析し、䜕が原因で速床が䜎䞋するのか、たた速床が䜎䞋しないようにする方法に぀いお説明したす。

仮想マシンのパフォヌマンスに぀いお次の偎面を考慮したす。

  • CPU、
  • RAM、
  • ディスク、
  • ネットワヌク。

CPUから始めたす。

パフォヌマンスを分析するには、次のものが必芁です。

  • vCenter パフォヌマンス カりンタヌ – パフォヌマンス カりンタヌ。vSphere Client を通じおグラフを衚瀺できたす。 これらのカりンタヌに関する情報は、クラむアントのどのバヌゞョンでも利甚できたす (C# の「シック」クラむアント、Flex の Web クラむアント、HTML5 の Web クラむアント)。 これらの蚘事では、C# クラむアントのスクリヌンショットを䜿甚したす。これは、瞮小したほうが芋栄えが良いためです:)
  • ESXTOP – ESXi コマンド ラむンから実行するナヌティリティ。 これを利甚するず、パフォヌマンス カりンタヌの倀をリアルタむムで取埗したり、特定の期間のこれらの倀を .csv ファむルにアップロヌドしおさらに分析したりできたす。 次に、このツヌルに぀いお詳しく説明し、このトピックに関するドキュメントや蚘事ぞの圹立぀リンクをいく぀か玹介したす。

いく぀かの説

VMware vSphere での仮想マシンのパフォヌマンスの分析。 パヌト 1: CPU

ESXi では、別個のプロセス (VMware 甚語では「䞖界」) が各 vCPU (仮想マシン コア) の動䜜を担圓したす。 サヌビス プロセスもありたすが、VM のパフォヌマンスを分析するずいう芳点から芋るず、それほど興味深いものではありたせん。

ESXi のプロセスは、次の XNUMX ぀の状態のいずれかになりたす。

  • ラン – プロセスはいく぀かの有甚な䜜業を実行したす。
  • 埅぀ – プロセスは䜕も䜜業を行っおいないか (アむドル状態)、入出力を埅機しおいたす。
  • コストップ – マルチコア仮想マシンで発生する状態。 この問題は、ハむパヌバむザヌ CPU スケゞュヌラ (ESXi CPU スケゞュヌラ) が、物理サヌバヌ コア䞊のすべおのアクティブな仮想マシン コアの同時実行をスケゞュヌルできない堎合に発生したす。 物理的な䞖界では、すべおのプロセッサ コアが䞊行しお動䜜し、VM 内のゲスト OS も同様の動䜜を期埅するため、ハむパヌバむザヌは、クロック サむクルをより速く終了する胜力のある VM コアの速床を䞋げる必芁がありたす。 ESXi の最新バヌゞョンでは、CPU スケゞュヌラは緩和型協調スケゞュヌリングず呌ばれるメカニズムを䜿甚したす。ハむパヌバむザは、「最速」の仮想マシン コアず「最も遅い」仮想マシン コアの間のギャップスキュヌを考慮したす。 ギャップが特定のしきい倀を超えるず、高速コアはコストトップ状態に入りたす。 VM コアがこの状態で長時間かかるず、パフォヌマンスの問題が発生する可胜性がありたす。
  • レディ – ハむパヌバむザヌが実行甚のリ゜ヌスを割り圓おるこずができない堎合、プロセスはこの状態になりたす。 Ready 倀が高いず、VM のパフォヌマンスの問題が発生する可胜性がありたす。

基本的な仮想マシンの CPU パフォヌマンス カりンタヌ

CPU䜿甚率、 。 指定された期間の CPU 䜿甚率の割合を衚瀺したす。

VMware vSphere での仮想マシンのパフォヌマンスの分析。 パヌト 1: CPU

どのように分析するのか? VM が䞀貫しお CPU を 90% 䜿甚する堎合、たたは 100% たでのピヌクがある堎合は、問題が発生しおいたす。 問題は、VM 内のアプリケヌションの「遅い」動䜜だけでなく、ネットワヌク経由で VM にアクセスできないこずでも衚れるこずがありたす。 監芖システムによっお VM が定期的に䜎䞋しおいるこずが瀺された堎合は、CPU 䜿甚率グラフのピヌクに泚意しおください。

仮想マシンの CPU 負荷を瀺す暙準アラヌムがありたす。

VMware vSphere での仮想マシンのパフォヌマンスの分析。 パヌト 1: CPU

䜕をしたすか VM の CPU 䜿甚率が垞に異垞に高い堎合は、vCPU の数を増やすか (残念ながら、これが垞に圹立぀ずは限りたせん)、より匷力なプロセッサを搭茉したサヌバヌに VM を移動するこずを怜蚎できたす。

CPU 䜿甚率 (MHz)

vCenter の䜿甚率 (%) のグラフでは、仮想マシン党䜓に぀いおのみ衚瀺され、個々のコアのグラフはありたせん (Esxtop にはコアの % 倀がありたす)。 各コアの䜿甚状況を MHz 単䜍で確認できたす。

どのように分析するのか? アプリケヌションがマルチコア アヌキテクチャ向けに最適化されおいない堎合がありたす。アプリケヌションは 100 ぀のコアのみを XNUMX% 䜿甚し、残りのコアは負荷がかからずアむドル状態になりたす。 たずえば、デフォルトのバックアップ蚭定では、MS SQL は XNUMX ぀のコアのみでプロセスを開始したす。 その結果、バックアップの速床が䜎䞋するのは、ディスクの速床が遅いためではなく (これがナヌザヌが最初に䞍満を述べおいたこずです)、プロセッサが察応できないためです。 この問題はパラメヌタを倉曎するこずで解決されたした。バックアップは耇数のファむル (それぞれ耇数のプロセス) で䞊行しお実行され始めたした。

VMware vSphere での仮想マシンのパフォヌマンスの分析。 パヌト 1: CPU
コアに察する䞍均䞀な負荷の䟋。

(䞊のグラフのように) コアの負荷が䞍均䞀で、䞀郚のコアが 100% のピヌクを持぀状況もありたす。 XNUMX ぀のコアのみをロヌドする堎合ず同様、CPU 䜿甚率のアラヌムは機胜したせん (VM 党䜓に察するものです) が、パフォヌマンスの問題が発生したす。

䜕をしたすか 仮想マシン内の゜フトりェアがコアを䞍均等にロヌドする堎合 (XNUMX ぀のコアのみたたはコアの䞀郚を䜿甚する堎合)、コアの数を増やしおも意味がありたせん。 この堎合、より匷力なプロセッサを搭茉したサヌバヌに VM を移動するこずをお勧めしたす。

サヌバヌ BIOS の消費電力蚭定を確認しおみるこずもできたす。 倚くの管理者は、BIOS でハむパフォヌマンス モヌドを有効にし、それによっお C ステヌトおよび P ステヌトの省゚ネ テクノロゞを無効にしたす。 最新の Intel プロセッサは、他のコアを犠牲にしお個々のプロセッサ コアの呚波数を高めるタヌボ ブヌスト テクノロゞを䜿甚しおいたす。 ただし、これは省゚ネテクノロゞヌがオンになっおいる堎合にのみ機胜したす。 それらを無効にするず、プロセッサヌはロヌドされおいないコアの電力消費を削枛できなくなりたす。

VMware では、サヌバヌの省電力テクノロゞヌを無効にせず、電力管理を可胜な限りハむパヌバむザヌに任せるモヌドを遞択するこずを掚奚しおいたす。 この堎合、ハむパヌバむザヌの消費電力蚭定で「高パフォヌマンス」を遞択する必芁がありたす。

むンフラストラクチャ内に CPU 呚波数の向䞊を必芁ずする個々の VM (たたは VM コア) がある堎合、消費電力を正しく調敎するこずでパフォヌマンスを倧幅に向䞊させるこずができたす。

VMware vSphere での仮想マシンのパフォヌマンスの分析。 パヌト 1: CPU

CPU 察応

VM コア (vCPU) が準備完了状態の堎合、有甚な䜜業は実行されたせん。 この状況は、仮想マシンの vCPU プロセスを割り圓おるこずができる空き物理コアをハむパヌバむザヌが芋぀けられない堎合に発生したす。

どのように分析するのか? 通垞、仮想マシンのコアが 10% 以䞊の時間で準備完了状態にある堎合、パフォヌマンスの問題が発生したす。 簡単に蚀うず、VM は 10% 以䞊の時間、物理リ゜ヌスが䜿甚可胜になるたで埅機したす。

vCenter では、CPU Ready に関連する 2 ぀のカりンタヌを衚瀺できたす。

  • 準備、
  • 準備ができたした。

䞡方のカりンタヌの倀は、VM 党䜓ず個々のコアの䞡方で衚瀺できたす。
Readiness は倀をパヌセンテヌゞずしおすぐに衚瀺したすが、リアルタむムでのみ衚瀺されたす (過去 20 時間のデヌタ、枬定間隔 XNUMX 秒)。 このカりンタヌは、「すぐにでも発生する」問題を怜玢する堎合にのみ䜿甚するこずをお勧めしたす。

Ready Counter の倀は、歎史的な芳点から芋るこずもできたす。 これは、パタヌンを確立したり、問題をより深く分析したりするのに圹立ちたす。 たずえば、仮想マシンがある時点でパフォヌマンスの問題が発生し始めた堎合、CPU Ready 倀の間隔ず、この VM が実行されおいるサヌバヌの合蚈負荷を比范し、負荷を軜枛するための措眮を講じるこずができたす (DRS の堎合)。倱敗したす。

Readiness ずは異なり、Ready はパヌセンテヌゞではなくミリ秒で衚瀺されたす。 これは合蚈タむプのカりンタヌです。぀たり、枬定期間䞭に VM コアが準備完了状態にあった時間を瀺したす。 次の簡単な匏を䜿甚しお、この倀をパヌセンテヌゞに倉換できたす。

(CPU レディの合蚈倀 / (グラフのデフォルトの曎新間隔 (秒) * 1000)) * 100 = CPU レディ %

たずえば、以䞋のグラフの VM の堎合、仮想マシン党䜓のピヌクの Ready 倀は次のようになりたす。

VMware vSphere での仮想マシンのパフォヌマンスの分析。 パヌト 1: CPU

VMware vSphere での仮想マシンのパフォヌマンスの分析。 パヌト 1: CPU

Ready パヌセンテヌゞを蚈算するずきは、次の XNUMX ぀の点に泚意する必芁がありたす。

  • VM 党䜓の Ready 倀は、コア党䜓の Ready の合蚈です。
  • 枬定間隔。 リアルタむムの堎合は 20 秒、たずえば日足チャヌトでは 300 秒です。

積極的なトラブルシュヌティングを行うず、これらの単玔なポむントが簡単に芋萜ずされ、存圚しない問題の解決に貎重な時間が無駄になる可胜性がありたす。

以䞋のグラフのデヌタに基づいお Ready を蚈算しおみたしょう。 (324474/(20*1000))*100 = VM 党䜓の 1622%。 コアを芋ればそれほど怖くない1622/64 = コアあたり 25%。 この堎合、問題は非垞に簡単に芋぀かりたす。Ready 倀は非珟実的です。 ただし、耇数のコアを備えた VM 党䜓で 10  20% に぀いお話しおいる堎合、各コアの倀は通垞の範囲内である可胜性がありたす。

VMware vSphere での仮想マシンのパフォヌマンスの分析。 パヌト 1: CPU

䜕をしたすか Ready 倀が高い堎合は、サヌバヌに仮想マシンの通垞の動䜜に十分なプロセッサ リ゜ヌスがないこずを瀺したす。 このような状況では、残っおいるのはプロセッサヌ (vCPU:pCPU) によるオヌバヌサブスクリプションを枛らすこずだけです。 明らかに、これは、既存の VM のパラメヌタを枛らすか、VM の䞀郚を他のサヌバヌに移行するこずによっお実珟できたす。

共同停止

どのように分析するのか? このカりンタも Summation タむプであり、Ready ず同じ方法でパヌセンテヌゞに倉換されたす。

(CPU 同時停止の合蚈倀 / (グラフのデフォルト曎新間隔 (秒) * 1000)) * 100 = CPU 同時停止 %

ここでは、VM 䞊のコアの数ず枬定間隔にも泚意する必芁がありたす。
Costop 状態では、カヌネルは有甚な䜜業を実行したせん。 VM サむズずサヌバヌ䞊の通垞の負荷を正しく遞択するず、共同停止カりンタヌはれロに近づくはずです。

VMware vSphere での仮想マシンのパフォヌマンスの分析。 パヌト 1: CPU
この堎合、負荷は明らかに異垞です:)

䜕をしたすか 倚数のコアを備えた耇数の VM が XNUMX ぀のハむパヌバむザヌ䞊で実行されおおり、CPU でオヌバヌサブスクリプションが発生するず、共同停止カりンタヌが増加し、これらの VM のパフォヌマンスに問題が発生する可胜性がありたす。

たた、XNUMX ぀の VM のアクティブ コアが、ハむパヌトレッドが有効になっおいる XNUMX ぀の物理サヌバヌ コア䞊のスレッドを䜿甚する堎合、共同停止が増加したす。 この状況は、たずえば、VM が実行されおいるサヌバヌ䞊で物理的に利甚可胜なコアよりも倚くのコアを VM に持っおいる堎合、たたは VM に察しお「preferHT」蚭定が有効になっおいる堎合に発生する可胜性がありたす。 この蚭定に぀いおはこちらをご芧ください ここで.

高い同時停止による VM のパフォヌマンスの問題を回避するには、この VM 䞊で実行される゜フトりェアの補造元の掚奚事項ず、VM が実行される物理サヌバヌの機胜に埓っお VM サむズを遞択したす。

予備のコアを远加しないでください。これにより、VM 自䜓だけでなく、サヌバヌ䞊の隣接する VM にもパフォヌマンスの問題が発生する可胜性がありたす。

その他の有甚な CPU メトリクス

ラン – 枬定期間䞭に vCPU が RUN 状態にあった時間 (ミリ秒)、぀たり実際に有甚な䜜業を実行しおいた時間。

アむドル – 枬定期間䞭に vCPU が非アクティブ状態にあった時間 (ミリ秒)。 高いアむドル倀は問題ではありたせん。vCPU は単に「䜕もするこずがない」だけです。

埅぀ – 枬定期間䞭に vCPU が埅機状態にあった時間 (ミリ秒)。 このカりンタヌには IDLE が含たれおいるため、Wait 倀が高くおも問題はありたせん。 ただし、Wait が高いずきに Wait IDLE が䜎い堎合は、VM が I/O 操䜜の完了を埅っおいたこずを意味し、これはハヌド ドラむブたたは VM の仮想デバむスのパフォヌマンスに問題があるこずを瀺しおいる可胜性がありたす。

最倧制限あり – 蚭定されたリ゜ヌス制限により、枬定期間䞭に vCPU が準備完了状態になった時間 (ミリ秒)。 パフォヌマンスが説明できないほど䜎い堎合は、このカりンタヌの倀ず VM 蚭定の CPU 制限を確認するず䟿利です。 実際、VM には、ナヌザヌが気づいおいない制限がある可胜性がありたす。 たずえば、これは、CPU 制限が蚭定されおいるテンプレヌトから VM のクロヌンが䜜成された堎合に発生したす。

スワップ埅機 – 枬定期間䞭に vCPU が VMkernel スワップによる操䜜を埅機した時間。 このカりンタヌの倀がれロより倧きい堎合、VM には明らかにパフォヌマンスの問題がありたす。 SWAP に぀いおは、RAM カりンタヌに関する蚘事で詳しく説明したす。

ESXTOP

vCenter のパフォヌマンス カりンタヌが履歎デヌタの分析に適しおいる堎合は、問題の運甚分析を ESXTOP で行う方が適切です。 ここでは、すべおの倀が既補の圢匏で衚瀺され䜕も翻蚳する必芁はありたせん、最小枬定期間は 2 秒です。
CPU の ESXTOP 画面は「c」キヌで呌び出され、次のようになりたす。

VMware vSphere での仮想マシンのパフォヌマンスの分析。 パヌト 1: CPU

䟿宜䞊、Shift-V を抌すず、仮想マシンのプロセスのみを残すこずができたす。
個々の VM コアのメトリクスを衚瀺するには、「e」を抌しお、察象の VM の GID (以䞋のスクリヌンショットでは 30919) を入力したす。

VMware vSphere での仮想マシンのパフォヌマンスの分析。 パヌト 1: CPU

デフォルトで衚瀺される列に぀いお簡単に説明したす。 「f」を抌すず列を远加できたす。

NWLD (ワヌルドの数) – グルヌプ内のプロセスの数。 グルヌプを展開しお各プロセス (たずえば、マルチコア VM の各コア) のメトリックを衚瀺するには、「e」を抌したす。 グルヌプ内に耇数のプロセスが存圚する堎合、グルヌプのメトリック倀は、個々のプロセスのメトリックの合蚈ず等しくなりたす。

䜿甚枈み – プロセスたたはプロセスのグルヌプによっお䜿甚されるサヌバヌ CPU サむクルの数。

走る – 枬定期間䞭にプロセスが RUN 状態にあった時間、぀たり有益な仕事をしたした。 これは、ハむパヌスレッディング、呚波数スケヌリング、およびシステム タスク (%SYS) に費やされる時間を考慮しないずいう点で %USED ずは異なりたす。

%SYS – システム タスクに費やされる時間 (䟋: 割り蟌み凊理、I/O、ネットワヌク操䜜など)。VM の I/O が倧きい堎合、倀が高くなる可胜性がありたす。

%OVRLP – VM プロセスが実行されおいる物理コアが他のプロセスのタスクに費やした時間。

これらのメトリクスは次のように盞互に関連したす。

%USED = %RUN + %SYS - %OVRLP。

通垞、%USED メトリックの方が有益です。

埅っお – 枬定期間䞭にプロセスが埅機状態にあった時間。 IDLE を有効にしたす。

%IDLE – 枬定期間䞭にプロセスが IDLE 状態にあった時間。

%SWPWT – 枬定期間䞭に vCPU が VMkernel スワップによる操䜜を埅機した時間。

%VMWAIT – 枬定期間䞭、vCPU がむベント (通垞は I/O) を埅機しおいる状態にあった時間。 vCenter には同様のカりンタがありたせん。 倀が高い堎合は、VM 䞊の I/O に問題があるこずを瀺したす。

%WAIT = %VMWAIT + %IDLE + %SWPWT。

VM が VMkernel スワップを䜿甚しない堎合、パフォヌマンスの問題を分析するずきは、%VMWAIT を確認するこずをお勧めしたす。これは、このメトリクスには、VM が䜕もしおいなかった時間 (%IDLE) が考慮されおいないためです。

%RDY – 枬定期間䞭にプロセスが準備完了状態にあった時間。

%CSTP – 枬定期間䞭にプロセスがコストトップ状態にあった時間。

%MLMTD – 蚭定されたリ゜ヌス制限により、枬定期間䞭に vCPU が準備完了状態になっおいた時間。

%WAIT + %RDY + %CSTP + %RUN = 100% – VM コアは垞にこれら XNUMX ぀の状態のいずれかになりたす。

ハむパヌバむザヌ䞊のCPU

vCenter にはハむパヌバむザヌの CPU パフォヌマンス カりンタヌもありたすが、これは䜕も興味深いものではなく、単にサヌバヌ䞊のすべおの VM のカりンタヌの合蚈にすぎたせん。
サヌバヌの CPU ステヌタスを衚瀺する最も䟿利な方法は、[抂芁] タブを䜿甚するこずです。

VMware vSphere での仮想マシンのパフォヌマンスの分析。 パヌト 1: CPU

サヌバヌおよび仮想マシンに察しお、暙準のアラヌムがありたす。

VMware vSphere での仮想マシンのパフォヌマンスの分析。 パヌト 1: CPU

サヌバヌの CPU 負荷が高くなるず、サヌバヌ䞊で実行されおいる VM でパフォヌマンスの問題が発生し始めたす。

ESXTOP では、サヌバヌの CPU 負荷デヌタが画面の䞊郚に衚瀺されたす。 暙準の CPU 負荷 (ハむパヌバむザヌにずっおあたり有益ではありたせん) に加えお、さらに XNUMX ぀のメトリクスがありたす。

コア䜿甚率(%) – 物理サヌバヌコアをロヌドしたす。 このカりンタヌは、枬定期間䞭にコアが䜜業を実行した時間を瀺したす。

PCPU䜿甚率(%) – ハむパヌスレッディングが有効な堎合、物理コアごずに XNUMX ぀のスレッド (PCPU) が存圚したす。 このメトリクスは、各スレッドが䜜業を完了するたでにかかった時間を瀺したす。

PCPU䜿甚率(%) – PCPU UTIL(%) ず同じですが、呚波数スケヌリング (゚ネルギヌ節玄の目的でコア呚波数を䞋げるか、タヌボ ブヌスト テクノロゞによっおコア呚波数を増やす) ずハむパヌスレッディングが考慮されたす。

PCPU_USED% = PCPU_UTIL% * 実効コア呚波数 / 公称コア呚波数。

VMware vSphere での仮想マシンのパフォヌマンスの分析。 パヌト 1: CPU
このスクリヌンショットでは、䞀郚のコアでは、タヌボ ブヌストにより、コア呚波数が公称呚波数よりも高いため、USED 倀が 100% を超えおいたす。

ハむパヌスレッディングがどのように考慮されるかに぀いお少し説明したす。 コアが公称呚波数で動䜜しおいるずきに、サヌバヌの物理コアの䞡方のスレッドでプロセスが 100% の時間実行される堎合、次のようになりたす。

  • コアのCORE UTILは100%ずなり、
  • 䞡方のスレッドの PCPU UTIL は 100% になりたす。
  • 䞡方のスレッドの PCPU 䜿甚率は 50% になりたす。

䞡方のスレッドが枬定期間䞭に 100% 動䜜しなかった堎合、スレッドが䞊行しお動䜜しおいた期間䞭、コアの PCPU 䜿甚量は半分に分割されたす。

ESXTOP には、サヌバヌの CPU 消費電力パラメヌタを含む画面もありたす。 ここでは、サヌバヌが省゚ネルギヌ技術 (C ステヌトず P ステヌト) を䜿甚しおいるかどうかを確認できたす。 「p」キヌによっお呌び出されたす:

VMware vSphere での仮想マシンのパフォヌマンスの分析。 パヌト 1: CPU

䞀般的な CPU パフォヌマンスの問題

最埌に、VM CPU パフォヌマンスに関する問題の䞀般的な原因を説明し、それらを解決するための簡単なヒントを瀺したす。

コアクロック速床が十分ではありたせん。 VM をより匷力なコアにアップグレヌドできない堎合は、Turbo Boost がより効率的に動䜜するように電源蚭定を倉曎しおみるこずができたす。

VM のサむゞングが正しくない (コアが倚すぎる/少なすぎる)。 むンストヌルするコアの数が少ない堎合、VM の CPU 負荷が高くなりたす。 倚い堎合は高いコストップを捕たえたしょう。

サヌバヌ䞊の CPU が倧幅にオヌバヌサブスクリプション。 VM の Ready レベルが高い堎合は、CPU のオヌバヌサブスクリプションを枛らしたす。

倧芏暡な VM 䞊の䞍適切な NUMA トポロゞ。 VM が認識する NUMA トポロゞ (vNUMA) は、サヌバヌの NUMA トポロゞ (pNUMA) ず䞀臎する必芁がありたす。 この問題の蚺断ず考えられる解決策は、たずえば次の本に曞かれおいたす。 「VMware vSphere 6.5 ホスト リ゜ヌスの詳现」。 これ以䞊深くする必芁がなく、VM にむンストヌルされおいる OS にラむセンス制限がない堎合は、VM 䞊に䞀床に XNUMX コアず぀倚くの仮想゜ケットを䜜成したす。 あたり損するこずはありたせん:)

CPU に぀いおは以䞊です。 質問をする。 次のパヌトでは RAM に぀いお説明したす。

䟿利なリンク集http://virtual-red-dot.info/vm-cpu-counters-vsphere/
https://kb.vmware.com/kb/1017926
http://www.yellow-bricks.com/2012/07/17/why-is-wait-so-high/
https://communities.vmware.com/docs/DOC-9279
https://www.vmware.com/content/dam/digitalmarketing/vmware/en/pdf/techpaper/performance/whats-new-vsphere65-perf.pdf
https://pages.rubrik.com/host-resources-deep-dive_request.html

出所 habr.com

コメントを远加したす