ブロック ストレージのパフォーマンス

概要

このページでは、仮想マシン(VM)インスタンスに接続しているブロック ストレージ ボリュームのパフォーマンスを左右する要素について説明します。始める前に、次の点を考慮してください。

  • 永続ディスクはネットワーク ストレージであるため、通常は物理ディスクやローカル SSD よりもレイテンシが大きくなります。永続ディスクの最大パフォーマンス上限を達成するには、十分な I/O リクエストを並行して発行する必要があります。必要なパフォーマンス レベルを達成するために十分なキューの深さが使用されているかどうかを確認するには、I/O キューの深さをご覧ください。

  • ディスクが飽和するまでアプリケーションが I/O を発行していることを確認します。

  • 主に小規模(4 KB~16 KB)のランダム I/O が発生するワークロードの場合、1 秒あたりのランダムな入出力オペレーション回数(IOPS)がパフォーマンスの制限要因になります。

  • 主に順次または大規模(256 KB~1 MB)のランダム I/O が発生するワークロードの場合は、スループットがパフォーマンスの制限要因となります。

ストレージ オプションを選択する

インスタンスで使用するブロック ストレージには、複数のタイプを指定できます。1 つの永続ディスクを複数の仮想マシンに接続しても、全体的なパフォーマンスまたは費用には影響しません。各マシンはディスクごとのパフォーマンス上限をわけ合います。

ゾーン永続ディスクまたはリージョン永続ディスクを構成する場合は、次のいずれかのディスクタイプを選択できます。

  • 標準永続ディスクpd-standard)は、主に順次 I/O を使用する大規模なデータ処理ワークロードに適しています。
  • バランス永続ディスクpd-balanced)は、パフォーマンスとコストのバランスが取れたディスクです。SSD 永続ディスクの代わりに使用できます。バランス永続ディスクの最大 IOPS は SSD 永続ディスクと同じですが、GB あたりの IOPS は低くなります。ほとんどの汎用アプリケーションに適したパフォーマンスを標準 SSD と SSD 永続ディスクの中間の価格で提供します。
  • SSD 永続ディスクpd-ssd)は、標準永続ディスクよりもレイテンシが低く、より多くの IOPS を必要とするエンタープライズ アプリケーションや高性能データベースのニーズに適しています。SSD 永続ディスクはレイテンシが 10 ミリ秒未満となるよう設計されています。測定されるレイテンシはアプリ固有のものです。
  • エクストリーム永続ディスクpd-extreme)は、ランダム アクセス ワークロードとバルク スループットの両方に対応し、高パフォーマンスを発揮します。Oracle や SAP HANA などのハイエンド データベース ワークロード向けに設計されています。他のディスクタイプとは異なり、必要な IOPS をプロビジョニングできます。詳細については、エクストリーム永続ディスクをご覧ください。

Cloud Console でディスクを作成する場合、デフォルトのディスクタイプは pd-balanced です。gcloud ツールまたは Compute Engine API を使用してディスクを作成する場合、デフォルトのディスクタイプは pd-standard です。

ゾーン
標準
PD
リージョン
標準
PD
ゾーン
バランス
PD
リージョン
バランス
PD
ゾーン
SSD PD
リージョン
SSD PD
ゾーン
エクストリーム PD
ローカル SSD(SCSI) ローカル SSD(NVMe)
最大持続 IOPS
読み取り IOPS/GB 0.75 0.75 6 6 30 30
書き込み IOPS/GB 1.5 1.5 6 6 30 30
読み取り IOPS/インスタンス 7,500* 7,500* 15,000~80,000* 15,000~60,000* 15,000~100,000* 15,000~60,000* 15,000~120,000* 900,000 2,400,000
書き込み IOPS/インスタンス 15,000* 15,000* 15,000~80,000* 15,000~30,000* 15,000~100,000* 15,000~30,000* 15,000~120,000* 800,000 1,200,000
最大持続スループット(MB/秒)
読み取りスループット/GB 0.12 0.12 0.28 0.28 0.48 0.48
書き込みスループット/GB 0.12 0.12 0.28 0.28 0.48 0.48
読み取りスループット/インスタンス 240~1,200* 240~1,200* 240~1,200* 240~1,200* 240~1,200* 240~1,200* 240~2,200** 9,360 9,360
書き込みスループット/インスタンス 76~400** 38~200** 240~1,200* 120~600* 240~1,200* 120~600* 240~2,200** 4,680 4,680
* 永続ディスクの IOPS とスループット パフォーマンスは、ディスクサイズ、インスタンスの vCPU 数、I/O ブロックサイズなどの要因によって決まります。
** 永続ディスクは、インスタンスの vCPU の数が多いほど、スループット パフォーマンスが高くなります。書き込みスループットの下り(外向き)ネットワークの上限をご覧ください。
複数の仮想マシン インスタンスにディスクを読み取り専用モードでアタッチしても、全体的なパフォーマンスやコストには影響ありません。各マシンはディスクごとのパフォーマンス上限を分け合います。

永続ディスク I/O オペレーションは、VM のハイパーバイザ内の vNIC ネットワーク トラフィックと共通パスを共有します。そのため、VM に大量のネットワーク トラフィックがある場合、実際の読み取り帯域幅と IOPS の整合性は、表示されている最大値よりも小さい場合があります。特に、I/O サイズが 16 KB で、最大 IOPS 上限付近でオペレーションが実行される場合、パフォーマンス上限が変動することが予想されます。帯域幅の想定値の概要については、帯域幅の概要表をご覧ください。

マルチライター モードの永続ディスクのパフォーマンス

マルチライター モードで作成された永続ディスクには、特定の IOPS とスループットの上限があります。

ゾーン SSD 永続ディスク マルチライター モード
最大持続 IOPS
読み取り IOPS/GB 30
書き込み IOPS/GB 30
読み取り IOPS/インスタンス 15,000~60,000*
書き込み IOPS/インスタンス 15,000~60,000*
最大持続スループット(MB/秒)
読み取りスループット/GB 0.48
書き込みスループット/GB 0.48
読み取りスループット/インスタンス 240~1,200*
書き込みスループット/インスタンス 240~1,200*
* 永続ディスクの IOPS とスループット パフォーマンスは、ディスクサイズ、インスタンスの vCPU 数、I/O ブロックサイズなどの要因によって決まります。
マルチライター ディスクを複数の仮想マシン インスタンスにアタッチしても、全体的なパフォーマンスや費用に影響はありません。各マシンはディスクごとのパフォーマンス上限を分け合います。

複数の VM 間で永続ディスクを共有する方法については、VM 間での永続ディスクの共有をご覧ください。

永続ディスクと物理ハードドライブの比較

永続ディスクのサイズを指定するときは、これらのディスクが従来の物理ハードドライブと比較してどの程度の性能かということを考えます。次の表では、7,200 RPM SATA ドライブで期待される一般的なパフォーマンス(通常は 75 IOPS または 120 MB/秒)を基準にして、標準永続ディスクと SSD 永続ディスクの必要なサイズを示しています。

I/O の種類 I/O のパターン 7,200 RPM SATA ドライブと同等のパフォーマンスを達成するために必要なサイズ(GB)
標準永続ディスク バランス永続ディスク SSD 永続ディスク
小規模でランダムな読み取り 小規模でランダムな読み取り 75 IOPS 100 12 3
小規模でランダムな書き込み 小規模でランダムな書き込み 75 IOPS 50 12 3
大量のストリーミング読み取り 120 MBps ストリーミング読み取り 1,000 428 250
大量のストリーミング書き込み 120 MBps ストリーミング書き込み 1,000 428 250

永続ディスクとインスタンスを構成する

永続ディスクのパフォーマンスは、ディスクのサイズと VM インスタンスの vCPU 数に比例します。

パフォーマンスは、ディスクの上限か、ディスクがアタッチされている VM インスタンスの上限に達するまでスケーリングされます。VM インスタンスの上限は、マシンタイプとインスタンスの vCPU 数によって決まります。

たとえば、N2 マシンタイプと 4 つの vCPU を持つインスタンスにアタッチされた 1,000 GB の SSD 永続ディスクがあるとします。ディスクのサイズのみに基づく読み取り制限は、30,000 IOPS です。しかし、インスタンスには 4 つの vCPU があるので、読み取り上限は 15,000 IOPS に制限されます。

以下の表は、ディスクサイズの増加によってパフォーマンスがどのように変化するかを示しています。この表では、パフォーマンスが大幅に変化するサイズのみを記載しています。ディスクサイズは 1 GB 単位で指定できます。パフォーマンス要件に従ってディスクと VM インスタンスを構成します。

ディスクサイズ別のパフォーマンス

標準永続ディスク

IOPS 持続スループット(MBps)
ディスクサイズ(GB) 読み取り
(I/O あたり 16 KB 以下)
書き込み
(I/O あたり 8 KB 以下)
書き込み
(I/O あたり 16 KB)
読み取り 書き込み
10 * * * * *
32 24 48 48 3 3
64 48 96 96 7 7
128 96 192 192 15 15
256 192 384 384 30 30
512 384 768 768 61 61
1,000 750 1,500 1,500 120 120
1,500 1,125 2,250 2,250 180 180
2,048 1,536 3,072 3,072 245 245
4,000 3,000 6,000 6,000 480 400
5,000 3,750 7,500 7,500 600 400
8,192 6,144 12,288 7,500 983 400
10,000~
65,536
7,500 15,000 7,500 1,200 400

* このディスクサイズはブートディスクにのみ使用します。このディスクサイズのパフォーマンス上限は低くなりますが、VM を迅速に起動するには十分です。

SSD 永続ディスク

IOPS 持続スループット(MBps)
ディスクサイズ(GB) 読み取り
(I/O あたり 8 KB 以下)
読み取り
(I/O あたり 16 KB 以下)
書き込み
(I/O あたり 8 KB 以下)
書き込み
(I/O あたり 16 KB)
読み取り 書き込み
10 300 300 300 300 4.8 4.8
32 960 960 960 960 15 15
64 1,920 1,920 1,920 1,920 30 30
128 3,840 3,840 3,840 3,840 61 61
256 7,680 7,680 7,680 7,680 122 122
500 15,000 15,000 15,000 15,000 240 240
834 25,000 25,000 25,000 25,000 400 400
1,000 30,000 30,000 30,000 25,000 480 480
1,334 40,000 40,000 40,000 40,000 640 640
1,667 50,000 50,000 50,000 50,000 800 800
2,048 60,000 60,000 60,000 60,000 983 983
3,500~65,536 100,000 75,000 100,000 75,000 1,200 1,200

マシンタイプと vCPU 数

パフォーマンスとスロットリングの指標を確認する

永続ディスクのパフォーマンス指標は、Google Cloud の統合モニタリング ソリューションである Cloud Monitoring で確認できます。

指標の一部を活用して、ディスクがスロットリングされているかどうかや、いつスロットリングされるのかを把握できます。スロットリングは、急増する I/O をなだらかにするために行われます。スロットリングを行うと、急増する I/O を一定期間にわたって分散できるので、ディスクのパフォーマンス上限に到達することはありますが、上限を超える瞬間はありません。

ワークロードに急増する I/O の使用パターンがあると、読み取り / 書き込みバイト数の急増に対応して、絞り込みバイト数の急増が見込まれます。同様に、読み取り / 書き込みオペレーション数の急増に対応する、絞り込みオペレーション数の急増が見込まれます。

ディスクの上限が 1,000 書き込み IOPS の場合、ディスクは 1 ミリ秒ごとに書き込みリクエストを受け入れます。書き込みリクエストをそれよりも速く発行すると、リクエストを 1 ミリ秒間隔に分散させるため、若干の遅延が発生します。このドキュメントで説明する IOPS とスループットの上限は、分単位または秒単位ではなく、常時適用されます。

データベースは、ワークロードが急増する一般的な例です。データベースでは、I/O オペレーションの急増が短い傾向があり、一時的にキューの深さが増大します。キューの深さが深いほど、キューで未処理の I/O オペレーション リクエストが多くなるため、レイテンシが高くなる可能性があります。

ワークロードの I/O の使用パターンが一定で、ディスクのパフォーマンス上限に継続的に到達している場合は、絞り込みバイト数とオペレーション数が一定のレベルになると見込まれます。

詳細については、永続ディスクのパフォーマンス指標の確認をご覧ください。

ディスクのパフォーマンスの最適化

ディスクのパフォーマンスを高めるには、次の手順を実施します。

  • 永続ディスクのサイズを変更して、ディスクごとの IOPS とスループットの上限を引き上げる。永続ディスクには予約済みの未使用容量がないため、パフォーマンスの低下を気にすることなくディスク全体を使用できます。ただし、特定のファイル システムやアプリケーションは、ディスクがいっぱいになるとパフォーマンスが低下する可能性があります。このような状況を回避するため、ディスクサイズを大きくすることも必要になります。

  • インスタンスのマシンタイプと vCPU の数を変更して、インスタンスごとの IOPS とスループットの上限を引き上げる。

ボトルネックの原因が VM のディスクサイズまたはマシンタイプではないとわかった場合は、アプリとオペレーティング システムの調整が必要になることがあります。永続ディスクのパフォーマンスの最適化ローカル SSD のパフォーマンスの最適化をご覧ください。

パフォーマンスに影響するその他の要因

次のステップ