Amazon EBS ボリュームで I/O 待機時間やキュー長が長くなり、レイテンシーが急上昇するのはなぜですか?

所要時間1分
0

Amazon Elastic Block Store (Amazon EBS) ボリュームで I/O 待機時間やキュー長が長くなり、レイテンシーが急上昇しています。なぜこのようなことが起きるのでしょうか?

簡単な説明

Amazon EBS ボリュームの場合、キューの長さや I/O 待機時間が長いということは、I/O 操作の完了にレイテンシーがあることを示しています。

レイテンシーが増加する最も一般的な理由は次のとおりです。

  • EBS ボリュームがスループットまたは IOPS の上限に近づいています。
  • Amazon Elastic Compute Cloud (Amazon EC2) インスタンスのスループットまたは IOPS の上限に達しました。
  • マイクロバーストが発生しています。
  • ボリュームはスナップショットから復元され、初期化中です。
  • ボリュームの基盤となるストレージサブシステムに問題があります。

解決方法

ボリュームがスループットまたは IOPS の上限に達している

EBS ボリュームには、タイプとサイズに応じたスループットと IOPS の上限があります。これらの制限は、 gp3io1、および io2 のボリュームタイプにプロビジョニングすることもできます。上限に達すると、レイテンシーが発生する可能性があります。スループットと IOPS の上限を決定するには、「Amazon EBS ボリュームの最大 IOPS とスループットはどのように計算すればよいですか?」を参照してください。 それから、CloudWatch メトリクスを使用して、EC2 インスタンスの EBS ボリュームがスループットまたは IOPS の上限に達していないかを確認する ことができます。

スループットや IOPS の上限に達する頻度が高い場合、ボリュームタイプやサイズがアプリケーションの要件に合うよう変更を検討してください。ベストプラクティスは、テスト環境でワークロードに対する EBS ボリュームをベンチマークして、最適なボリュームタイプを決定することです。

インスタンスのスループットまたは IOPS の上限に達しました

EBS 最適化インスタンスでは、インスタンスにアタッチされたすべての EBS ボリュームで達成できる合計スループットと IOPS が最大になります。I/O 待機時間が長くなり、レイテンシーが増加しても、ボリュームがスループットまたは IOPS の上限に達していないことがあります。このような場合、ボリュームのスループットまたは IOPS がインスタンスのスループットまたは IOPS の上限に達していないかを確認してください

たとえば、プロビジョンド IOPS が 16,000、スループットが 700 MiB/秒の 1 TiB の gp3 ボリュームが t3.medium インスタンスに接続されているとします。t3.medium インスタンスは、アタッチされたすべてのボリュームで合計 260.57 MiB/秒のスループットと 11,800 IOPS という最大パフォーマンスを実現できます。インスタンスは 24 時間のうちのたった 30 分でこれを実現します。次に、パフォーマンスは、アタッチされたすべてのボリュームで合計 43.43 MiB/秒のスループットと 2,000 IOPS というベースラインに調整されます。1 つのボリュームで最大 700 MiB/秒および 16,000 IOPS を維持できますが、インスタンスではこのパフォーマンスを実現できません。

アプリケーションのパフォーマンスニーズがインスタンスの能力を上回る場合は、必要なワークロードに対応できるインスタンスタイプへの変更を検討してください。使用可能なインスタンスタイプのリストと、それぞれの Amazon EBS スループットおよび IOPS 制限については、「EBS 最適化インスタンスの仕様」を参照してください。

マイクロバーストが発生しています

マイクロバーストは、ボリュームが収集期間よりも大幅に短い期間で IOPS またはスループットがバーストしている場合に発生します。マイクロバーストは Amazon CloudWatch メトリクスには反映されないため、チェックしないとマイクロバーストを見逃す可能性があります。マイクロバーストが問題となっているかどうかを判断するには、「EBS ボリュームがマイクロバーストしているかどうかを確認し、発生を防ぐにはどうすればよいですか?」を参照してください。

ボリュームはスナップショットから復元され、初期化中です

ボリュームがスナップショットから復元されると、そのデータは Amazon Simple Storage Service (Amazon S3) から取得され、ボリュームに書き込まれます。このプロセスを初期化と呼びます。初期化を行うと、データの各ブロックに初めてアクセスするときの I/O 操作の待ち時間が長くなる可能性があります。

ボリュームのパフォーマンスに与える初期化の影響を軽減するために、ボリューム上のブロックを読み取って ボリュームを強制的に初期化することができます。Amazon EBS 高速スナップショット復元 を有効にして、ボリュームが作成時に完全に初期化されるようにすることもできます。

ボリュームの基盤となるストレージサブシステムに問題があります

上記のトラブルシューティング手順をすべて試してもレイテンシーが高くなる場合は、AWS サポートにお問い合わせください。


関連情報

CloudWatch メトリクスを使用して、EBS ボリュームが提供する平均スループットと IOPS の平均数を計算する方法を教えてください。

EBS スナップショットから Amazon EBS ボリュームを復元する際の I/O レイテンシーへの対処

AWS公式
AWS公式更新しました 1年前
コメントはありません

関連するコンテンツ