VM のパフォーマンスに関する問題のトラブルシューティング


このドキュメントでは、Compute Engine 仮想マシン(VM)インスタンスで CPU、メモリ、ストレージのパフォーマンスの問題を診断して軽減する方法について説明します。

始める前に

パフォーマンス指標を表示する

VM のパフォーマンス指標を表示するには、Google Cloud コンソールで使用可能な Cloud Monitoring オブザーバビリティ指標を使用します。

  1. Google Cloud コンソールで [VM インスタンス] ページに移動します。

    [VM インスタンス] に移動

  2. 個々の VM またはリソースを最も多く消費している 5 つの VM の指標を表示できます。

    個々の VM の指標を表示する手順は次のとおりです。

    1. パフォーマンス指標を表示する VM の名前をクリックします。[VM インスタンスの詳細] ページが開きます。

    2. [オブザーバビリティ] タブをクリックして、オブザーバビリティの [概要] ページを開きます。

    リソースを最も多く消費している 5 つの VM の指標を表示するには、[VM インスタンス] ページの [オブザーバビリティ] タブをクリックします。

  3. VM のパフォーマンス指標を確認します。[概要]、[CPU]、[メモリ]、[ネットワーク]、[ディスク] のセクションを表示して、各トピックの詳細な指標を確認します。VM のパフォーマンスを示す主要な指標は次のとおりです。

    • [概要] ページで次の操作を行います。

      • CPU 使用率。VM が使用する CPU の割合。

      • メモリ使用率。VM が使用するメモリの割合(ディスク キャッシュを除く)。Linux VM の場合は、カーネルメモリも除外されます。

      • ネットワーク トラフィック。1 分間に送受信された平均バイト数。

      • VM、外部、Google との新たな接続1 分間に予想される個別の TCP / UDP フローの推定数。ピアタイプでグループ化されます。

      • ディスク スループット。ディスクに対する読み取りと書き込みのバイト数の平均レート。

      • ディスク IOPS。ディスクに対する I/O 読み取り / 書き込みオペレーションの平均レート。

    • [ネットワーク] の [概要] ページ:

      • VM / 外部 / Google に送信済み。パケットのサンプルに基づき、Google サービス、VM、外部の宛先に送信されるネットワーク トラフィックのレート。この指標は、合計が送信ネットワーク トラフィックの合計と一致するようにスケーリングされます。

      • VM / 外部 / Google から受信。パケットのサンプルに基づき、Google サービス、VM、外部ソースから受信したネットワーク トラフィックのレート。この指標は、合計が受信ネットワーク トラフィックの合計と一致するようにスケーリングされます。

      • ネットワーク パケットの合計。1 分間隔で送受信されるパケットの合計レート。

      • パケット平均サイズ。1 分間隔で送受信されるパケットの平均サイズ(バイト単位)。

      • 拒否されたファイアウォールの受信パケット。VM に送信されたものの、ファイアウォール ルールで拒否されたため、VM で受信されていない受信ネットワーク パケットのレート。

    • [ディスク パフォーマンス] ページで、次の操作を行います。

      • I/O サイズの平均。ディスクに対する I/O 読み取り / 書き込みオペレーションの平均サイズ。小サイズ(4~16 KiB)のランダム I/O は、通常、IOPS により制限されます。シーケンシャル / 大サイズ(256 KiB~1 MiB)の I/O はスループットにより制限されます。

      • キューの長さの平均: 上位 5 つのデバイスで、キューに格納中と実行中のディスク I/O オペレーションの数(「キューの深度」とも呼ばれます)。永続ディスクのパフォーマンスを上限に近づけるには、I/O キューの深度に高い値を使用します。永続ディスクはネットワーク ストレージのため、通常は物理ディスクやローカル SSD よりもレイテンシが大きくなります。

      • I/O レイテンシ平均: VM の Ops エージェントによって測定される、VM にアタッチされているすべてのディスクのオペレーションを集計した、I/O 読み取り / 書き込みオペレーションの平均レイテンシ。この値にはオペレーティング システムとファイル システムの処理レイテンシが含まれ、キューの長さと I/O サイズに依存します。

パフォーマンス指標を理解する

VM のパフォーマンスは、VM が実行されるハードウェア、VM で実行されるワークロード、VM のマシンタイプによって変わります。ハードウェアで VM のワークロードまたはネットワーク トラフィックをサポートできない場合、VM のパフォーマンスに影響する可能性があります。

CPU とメモリのパフォーマンス

ハードウェアの詳細

CPU とメモリのパフォーマンスは、次のハードウェアの制約による影響を受けます。

  • 各仮想 CPU(vCPU)は、CPU プロセッサ上に単一のハードウェア マルチスレッドとして実装されます。
  • Intel Xeon CPU プロセッサでは、単一のプロセッサコアで複数のアプリスレッドがサポートされます。
  • C2 マシンタイプを使用する VM では、仮想コアから物理コアへのマッピングを固定し、NUMA セル アーキテクチャをゲスト OS に公開します。
  • ゲスト環境には基本周波数しかアドバタイズされない状態でも、ほとんどの VM は CPU プラットフォームに一覧表示されている全コアターボ時の周波数を取得します。
  • 共有コア マシンタイプは、コンテキストの切り替えを使用し、マルチタスクのために vCPU 間で物理コアを共有します。また、VM の CPU 使用率が 100% を超えることが可能となるバースト機能も提供します。詳細については、共有コア マシンタイプをご覧ください。

VM の CPU とメモリのパフォーマンスを把握するには、CPU 使用率メモリ使用率パフォーマンス指標を表示します。さらに、プロセスの指標を使用すると、現在実行中のプロセスを表示することや、リソース使用量の異常を特定プロセスに関連付けることができます。また、VM で最も高価なリソース コンシューマを識別することもできます。

CPU またはメモリの使用率が一貫して高い場合は、VM をスケールアップする必要があることを示します。VM が常に CPU またはメモリの 90% を上回る場合は、VM のマシンタイプを変更して、より多くの vCPU やメモリを搭載したマシンタイプに変更します。

ネットワーク パフォーマンス

ハードウェアの詳細

ネットワークのパフォーマンスは、次のハードウェア制約による影響を受けます。

VM のネットワーク パフォーマンスを把握するには、[ネットワーク パケットの合計]、[パケット平均サイズ]、[VM / 外部 / Google からの新しい接続]、[VM / 外部 / Google に送信]、[VM / 外部 / Google から受信]、[ファイアウォールで受信され拒否されたパケット] のパフォーマンス指標を表示します。

ワークロードの [ネットワーク パケットの合計]、[パケット平均サイズ]、[VM / 外部 / Google からの新しい接続] の値が標準値かどうか確認します。たとえば、ウェブサーバーでは接続数が多く、パケットサイズが小さくなっていても、データベースでは接続数が少なく、パケットサイズが大きくなっていることがあります。

常に送信されるネットワーク トラフィックが多い場合は、下り(外向き)帯域幅の上限が高いマシンタイプに VM のマシンタイプを変更する必要があることを示している可能性があります。

ファイアウォールによって多数の受信パケットが拒否された場合は、Google Cloud コンソールの [ネットワーク インテリジェンス] の [ファイアウォール インサイト] ページで、拒否されるパケットの原因を詳細に確認してください。

[ファイアウォール インサイト] ページに移動

ファイアウォールで独自のトラフィックが誤って拒否されていると思われる場合は、接続テストをお試しください

VM が異なるゾーンまたはリージョンの VM から大量のトラフィックを送受信する場合は、ワークロードを変更してゾーンまたはリージョン内により多くのデータを保持し、レイテンシを増やしてコストを削減することを検討してください。詳細については、料金ページの「Google Cloud 内の VM 間送信データ転送の料金」をご覧ください。VM が同じゾーン内の他の VM に大量のトラフィックを送信する場合は、ネットワーク レイテンシを低くするためコンパクト プレースメント ポリシーの使用を検討してください。

ストレージのパフォーマンス

ハードウェアの詳細

ストレージは、次のハードウェアの制約による影響を受けます。

  • すべての永続ディスクの合計サイズと vCPU 数を組み合わせると、ストレージの合計パフォーマンスが決まります。VM にさまざまなタイプの永続ディスクがアタッチされている場合、SSD 永続ディスクのパフォーマンス上限が VM 上のすべてのディスクで共有されます。詳細については、ブロック ストレージのパフォーマンスをご覧ください。
  • Persistent Disk と Hyperdisk が送信データ転送トラフィックと競合する場合、最大送信ネットワーク帯域幅の 60% が Persistent Disk と Hyperdisk に使用され、残りの 40% を送信ネットワーク データ転送に使用できます。詳細については、パフォーマンスに影響するその他の要因をご覧ください。
  • I/O サイズとキューの深さのパフォーマンスは、ワークロードによって異なります。ワークロードによっては、完全な I/O サイズとキューの深さのパフォーマンスの上限が十分でない可能性があります。
  • VM のマシンタイプはストレージのパフォーマンスに影響します。詳細については、マシンタイプと vCPU 数をご覧ください。

VM のストレージ パフォーマンスを把握するには、スループットオペレーション(IOPS)I/O サイズI/O レイテンシキューの長さパフォーマンス指標を表示します。

ディスク スループットと IOPS は、VM ワークロードが想定どおりに動作しているかどうかを示します。スループットまたは IOPS がディスクタイプの表に示されている想定された最大値よりも低い場合、I/O サイズ、キューの長さ、または I/O レイテンシのパフォーマンスの問題が存在する可能性があります。

I/O サイズは、高い IOPS と低いレイテンシが必要なワークロードでは 4~16 KiB、シーケンシャルでサイズの大きい書き込みを伴うワークロードでは 256 KiB~1 MiB になると予想されます。これらの範囲外の I/O サイズは、ディスクのパフォーマンスに問題があることを示しています。

キューの長さはキューの深さとも呼ばれ、スループットと IOPS の要因です。ディスクのパフォーマンスが優れている場合、キューの長さは、推奨される I/O キューの深さの表に一覧表示されている特定のスループットまたは IOPS レベルを達成するために推奨されるキュー長とほぼ同じでなければなりません。

I/O レイテンシは、キューの長さと I/O サイズに依存します。ディスクのキューの長さまたは I/O サイズが大きい場合は、レイテンシも高くなります。

ストレージのパフォーマンス指標でディスクのパフォーマンスに関する問題が示されている場合は、次の 1 つ以上を行います。