このドキュメントでは、Google Cloud Hyperdisk のパフォーマンスについて説明します。これにより、Hyperdisk ボリュームのパフォーマンスを理解し、ワークロードに適した Hyperdisk タイプを選択できます。
Hyperdisk は、 Google Cloudで推奨される耐久性の高いブロック ストレージ オプションです。Hyperdisk の詳細については、Hyperdisk についてをご覧ください。
パフォーマンスの上限の詳細については、Hyperdisk のパフォーマンスの上限をご覧ください。
Hyperdisk ボリュームの現在または過去のパフォーマンスを確認するには、ディスク パフォーマンス指標を確認するをご覧ください。
用語と単位
このドキュメントで説明する Hyperdisk のパフォーマンスは、IOPS とスループットです。
- IOPS は 1 秒あたりの入出力オペレーション数を表します。これは、ボリュームが 1 秒間に実行する、または実行可能な読み取りと書き込みの数です。
- スループットとは、1 秒間にボリュームから読み取ったり、ボリュームに書き込むことができるバイト数のことです。スループットは MiB/秒で測定されます。
サイズの測定単位は GiB または TiB です。
マシンタイプに関する用語
コンピューティング インスタンスという用語は、仮想マシン(VM)インスタンスまたはベアメタル インスタンスを指します。コンピューティング インスタンスのマシンタイプは、マシンシリーズや vCPU 数などのプロパティの特定の組み合わせを意味します。
このドキュメントでは、マシンタイプは M-*-N
という形式で表します。ここで
-
M
は、マシンシリーズです。例:C3
-
*
は、すべてのメモリと CPU 構成を表します。例:standard
、highcpu
N
は、vCPU、CPU、または GPU の数です。たとえば、22 個の vCPU を使用するインスタンスの場合は 22、8 個の GPU を使用するインスタンスの場合は8g
です。
たとえば、c3-*-192
は、192 個の vCPU または CPU を備えたすべての C3 VM とベアメタル インスタンスを指します。これには lssd
マシンタイプも含まれます。詳細については、Compute Engine の用語をご覧ください。
Hyperdisk のパフォーマンスの概要
Hyperdisk ボリュームをインスタンスにアタッチする場合、達成可能な最大パフォーマンスは、次の表に示すようにシナリオによって異なります。
Hyperdisk ボリュームの数 |
最大パフォーマンス |
---|---|
1 | ボリュームのパフォーマンスは、次のいずれかの低いほうになります。
|
同じ Hyperdisk タイプの 2 つ以上 | すべてのボリュームの合計パフォーマンスは、次のいずれかの少ないほうになります。
|
2 つ以上の Hyperdisk タイプ | すべてのボリュームの合計パフォーマンスは、次のいずれかの少ないほうになります。
|
Hyperdisk タイプ別の上限については、Hyperdisk タイプ別のパフォーマンスの上限をご覧ください。
マシンタイプ別の上限については、マシンタイプ別のパフォーマンスの上限をご覧ください。
Hyperdisk のプロビジョニングされたパフォーマンスについて
Hyperdisk ボリュームにターゲット パフォーマンス レベルを指定できます。指定またはプロビジョニングする IOPS 値またはスループット値は、プロビジョニングされたパフォーマンスと呼ばれます。
ボリュームのパフォーマンスは、ボリュームの作成時にプロビジョニングできます。また、ボリュームのサイズを増やすことなく、ボリュームの使用中にパフォーマンスの増減を行うこともできます。
プロビジョニングされたパフォーマンスは、保証されるパフォーマンス レベルではありません。これは、ピーク時のボリュームに必要となる目標のパフォーマンス レベルです。実際のパフォーマンスは、ボリュームを使用するインスタンスの上限とその他の要因によって異なります。
デフォルトのパフォーマンス レベル
Hyperdisk ボリュームのパフォーマンス レベルのプロビジョニングは任意です。値を指定しないと(ワークロードに必要な IOPS やスループットが不明な場合など)、Compute Engine はデフォルト値でボリュームを作成します。この値は後で増減できます。デフォルト値は Hyperdisk のタイプによって異なります。Hyperdisk Balanced、Hyperdisk Balanced High Availability、Hyperdisk Extreme、Hyperdisk Throughput、Hyperdisk ML の IOPS とスループットのデフォルト値をご覧ください。
プロビジョニングされたパフォーマンスの上限
プロビジョニングできる最大パフォーマンスは、Hyperdisk のタイプとボリューム サイズによって異なります。
Hyperdisk タイプの上限
各 Hyperdisk タイプには、プロビジョニングできる最大パフォーマンスがあります。一部の Hyperdisk タイプでは、IOPS、スループット、またはその両方をプロビジョニングできます。スループットをプロビジョニングできない場合、ボリュームのスループットは、プロビジョニングされた IOPS によって異なります。同様に、IOPS をプロビジョニングできない場合、ボリュームの IOPS はプロビジョニングするスループットによって異なります。
たとえば、Hyperdisk ML ボリュームにはスループットをプロビジョニングできますが、IOPS はプロビジョニングできません。Hyperdisk ML の IOPS とスループットの比率は、プロビジョニングされたスループットの MiB/秒あたり 16 IOPS です。たとえば、スループットが 100,000 MiB/秒の Hyperdisk ML ボリュームを作成すると、ボリュームは 1,600,000 IOPS でプロビジョニングされます。
サイズベースの制限
プロビジョニングできる最大パフォーマンスは、ボリュームのサイズによって異なります。たとえば、10 TiB の Hyperdisk Balanced ボリュームの場合は 3,000~160,000 IOPS をプロビジョニングできますが、50 GiB ボリュームの場合は 3,000~25,000 IOPS をプロビジョニングできます。
各 Hyperdisk タイプのサイズベースの上限の詳細については、Hyperdisk Balanced、Hyperdisk Balanced High Availability、Hyperdisk Extreme、Hyperdisk Throughput、Hyperdisk ML の各ページのサイズとパフォーマンスの上限をご覧ください。
次の表に、各 Hyperdisk タイプにプロビジョニング可能な最大パフォーマンスを示します。
Hyperdisk タイプ | 1 ボリュームにプロビジョニング可能な最大パフォーマンス | カスタマイズ可能なスループット | カスタマイズ可能な IOPS |
---|---|---|---|
Hyperdisk Balanced | 160,000 IOPS 2,400 MiB/秒 |
はい | ○ |
Hyperdisk Balanced High Availability | 100,000 IOPS 1,200 MiB/秒 |
はい | ○ |
Hyperdisk Extreme | 350,000 IOPS | いいえ。1,000 IOPS あたり 250 MiB/秒(最大 5,000 MiB/秒) | はい |
Hyperdisk ML | 1,200,000 MiB/秒 | はい | いいえ。スループット 1 MiB/秒あたり 16 IOPS(最大 19,200,000 IOPS) |
Hyperdisk Throughput | 600 MiB/s | はい | いいえ。スループット 1 MiB/秒あたり 4 IOPS(最大 2,400 IOPS)。 |
安定状態のパフォーマンス
パフォーマンスの変動の影響を受けやすいワークロードの場合は、安定状態のパフォーマンスを提供するマシンシリーズの使用を検討してください。安定状態のパフォーマンスの上限は、インスタンスがアタッチされているすべてのボリューム間で維持されるパフォーマンス レベルです。一方、最大パフォーマンス レベルは、インスタンスが達成可能な最高のパフォーマンス レベルです。
安定状態のパフォーマンスの上限は、サービスレベル契約(SLA)を構成するものではありません。
Hyperdisk ボリュームが特定の安定状態のパフォーマンスの上限を達成するには、プロビジョニングされたパフォーマンスが安定状態の上限と同等か、それ以上である必要があります。
安定状態のパフォーマンスの上限は、インスタンスにアタッチされているすべてのディスクで共有されます。
安定状態のパフォーマンスを提供するマシンシリーズ
次のマシンシリーズは、安定状態のパフォーマンスを提供します。
プロビジョニングされたパフォーマンスを満たすようにワークロードを構成する
Hyperdisk ボリュームの実際のパフォーマンス(インスタンスにアタッチされたときに観測されるパフォーマンス)は、次の上限を超えることはできません。
- ボリュームのプロビジョニングされたパフォーマンス
- インスタンス固有のパフォーマンスの上限(Hyperdisk タイプの特定の上限を含む)
したがって、プロビジョニングされたパフォーマンスにボリュームが到達できるようにするには、次の要素を考慮してください。
Hyperdisk タイプのボリュームのプロビジョニングされたパフォーマンスをサポートするマシンタイプを選択します。各 Hyperdisk タイプのインスタンス固有のパフォーマンスの上限のガイダンスを確認します。
インスタンスで異なる Hyperdisk タイプを使用する場合は、マシンタイプの最大パフォーマンスの上限の情報を確認してください。
I/O サイズやアプリケーション設計などの要因は、パフォーマンスの上限ではありませんが、パフォーマンスに影響します。これらの要因の詳細については、パフォーマンスに影響するワークロード固有の要因をご覧ください。
インスタンスのパフォーマンスの上限が Hyperdisk のパフォーマンスに与える影響
各コンピューティング インスタンスには、マシンタイプに基づいて次のパフォーマンスの上限があります。
- Hyperdisk タイプのパフォーマンスの上限
- インスタンスの全体的なパフォーマンスの上限
各上限は特定の状況で適用されます。
各 Hyperdisk タイプのインスタンスのパフォーマンスの上限
各インスタンスには、インスタンスにアタッチする特定タイプのすべての Hyperdisk ボリュームのパフォーマンスの上限があります。
この上限が適用される場合: 同じタイプの Hyperdisk ボリュームを 1 つ以上インスタンスにアタッチする場合。各ボリュームがプロビジョニングされたパフォーマンスに到達するには、インスタンスのパフォーマンスの上限が、すべてのボリュームのプロビジョニングされたパフォーマンスの合計よりも大きくする必要があります。そうしないと、ボリュームのパフォーマンスがインスタンスのパフォーマンスの上限を超える可能性があります。
例
プロビジョニングされたスループットが 600 MiB/秒の Hyperdisk Throughput ボリューム hdt-disk-1
があり、これを c3-*-4
インスタンスにアタッチするとします。
c3-*-4
インスタンスには次のスループット上限があります。
Hyperdisk タイプ | 最大スループット(MiB/秒) |
---|---|
Hyperdisk Balanced | 400 |
Hyperdisk Extreme | サポート対象外 |
Hyperdisk Throughput | 240 |
Hyperdisk Balanced High Availability | 400 |
Hyperdisk ML | 400 |
hdt-disk-1
を VM にアタッチする場合、ボリュームの実際のパフォーマンスは 240 MiB/秒を超えることはできません。Hyperdisk Balanced ボリュームをアタッチする場合、Hyperdisk Balanced ボリュームのパフォーマンスは 400 MiB/秒を超えることはありません。
2 つの Hyperdisk Balanced ボリュームを VM にアタッチしても、両方の Hyperdisk Balanced ボリュームの合計パフォーマンスは 400 MiB/秒を超えることはできません。これは、両方のボリュームのプロビジョニングされたパフォーマンスに関係なく当てはまります。
マシンタイプ別の各 Hyperdisk のパフォーマンス上限については、Hyperdisk タイプ別のパフォーマンス上限をご覧ください。
インスタンスの全体的なパフォーマンスの上限
各インスタンスには、全体的に到達可能なパフォーマンスの上限があります。この上限は、インスタンスにアタッチされているすべてのボリュームで共有されます。
この上限が適用される場合: 複数のタイプの Hyperdisk をインスタンスにアタッチする場合。各ボリュームのプロビジョニングされたパフォーマンスに関係なく、すべてのボリュームの実際のパフォーマンスの合計が、インスタンスのパフォーマンス上限を超えることはできません。
インスタンスが Persistent Disk をサポートしている場合、アタッチされたすべての Persistent Disk ボリュームも同じ上限を共有します。
例
最大スループットが 1,800 MiB/秒の c3-*-22
インスタンスがあるとします。
次のリソースを VM にアタッチします。
- 2 つの Hyperdisk Balanced ボリューム(それぞれ 900 MiB/秒のプロビジョニングされたスループット)。
- 500 MiB/秒のプロビジョニングされたスループットを持つ 1 つの Hyperdisk Throughput ボリューム
すべてのボリュームの合計パフォーマンスは 1,800 MiB/秒を超えることはできません。
上限の一覧については、マシンタイプ別のパフォーマンスの上限をご覧ください。
パフォーマンスに影響するワークロード固有の要因
このセクションでは、Hyperdisk ボリュームで達成できるスループットと IOPS の上限に影響するワークロード固有の要因について説明します。パフォーマンスを改善する方法については、Hyperdisk のパフォーマンスを最適化するをご覧ください。
Hyperdisk ボリュームが提供する最大 IOPS とスループット レベルを達成するには、次のワークロード パラメータを考慮する必要があります。
-
I/O サイズ: IOPS とスループットの上限に達するには、次のように特定のブロックサイズを使用する必要があります。
- IOPS の上限では、I/O サイズが 4 KB である必要があります。
- 最大スループットの上限では、256 KB 以上の I/O サイズが必要です。
- キューの長さ: キューの長さは、ボリュームに対する保留中のリクエストの数です。最大パフォーマンスの上限を達成するには、ワークロードの I/O サイズ、IOPS、レイテンシ感度に応じてキューの長さをチューニングする必要があります。最適なキューの長さはワークロードによって異なりますが、一般的には 256 より大きくする必要があります。
- アタッチされたボリュームの数: 最適なパフォーマンスを得るには、VM にアタッチするボリュームを 8 個以下にすることをおすすめします。
次のステップ
- Hyperdisk タイプのパフォーマンスの上限を確認する
- すべてのマシンタイプのパフォーマンスの上限を確認する
- Hyperdisk ボリュームのパフォーマンスを最適化する方法を確認する