CloudWatch スロットリングメトリクス
このページでは、DynamoDB テーブルとインデックスのスロットリングの問題の特定、診断、解決に役立つように特別に設計された CloudWatch メトリクスに関する包括的なガイドを提供します。
- 一般的なスロットリングメトリクス
-
-
ThrottledRequests-
リクエスト内の個々のイベントがスロットリングされた数に関係なく、リクエスト内のイベントがスロットリングされたときに 1 つ増加します。例えば、グローバルセカンダリインデックス (GSI) を持つテーブル内の項目を更新する場合、基本テーブルへの書き込みオペレーションと各インデックスへの書き込みオペレーションという複数のイベントが発生します。これらの個々のイベントのいずれかがスロットリングされた場合、
ThrottledRequestsメトリクスは 1 回だけ増分されます。スロットリングの実際の範囲が隠される可能性があるため、DynamoDB のパフォーマンスをモニタリングおよびトラブルシューティングするときには、この動作を理解することが重要です。より包括的なインサイトを得るには、
ThrottledRequestsメトリクスをReadThrottleEvents、WriteThrottleEventsなどの特定のイベントレベルのメトリクス、およびReadKeyRangeThroughputThrottleEventsなどのターゲットメトリクスと比較します。これらの原因固有のメトリクスの完全なリストは、このページで入手できます。各メトリクスは、スロットリング例外内でキャプチャされる特定のスロットリングの理由に対応します。スロットリングイベント中にこれらの理由を取得して解釈するガイダンスについては、スロットリングの問題の根本原因を特定して解決する手順を提供する「スロットリングの診断」セクションを参照してください。
-
-
ReadThrottleEvents-
1 つのテーブルまたは GSI のプロビジョニングされた RCU を超えるリクエストを監視します。
-
-
WriteThrottleEvents-
1 つのテーブルまたは GSI のプロビジョニングされた WCU を超えるリクエストを監視します。
-
-
- 原因別の詳細なスロットリングメトリクス
-
オンデマンドスループットスロットリング
-
ReadMaxOnDemandThroughputThrottleEvents-
オンデマンドの最大スループットによってスロットリングされた読み取りリクエストの数。
-
-
WriteMaxOnDemandThroughputThrottleEvents-
オンデマンドの最大スループットによってスロットリングされた書き込みリクエストの数。
-
アカウントレベルのスロットリング
-
ReadAccountLimitThrottleEvents-
アカウント制限によりスロットリングされた読み取りリクエストの数。
-
-
WriteAccountLimitThrottleEvents-
アカウント制限によりスロットリングされた書き込みリクエストの数。
-
パーティションレベルのスロットリング
-
ReadKeyRangeThroughputThrottleEvents-
パーティションの制限によりスロットリングされた読み取りリクエストの数。
-
-
WriteKeyRangeThroughputThrottleEvents-
パーティションの制限によりスロットリングされた書き込みリクエストの数。
-
-
- キャパシティ分析メトリクス
-
-
OnlineIndexConsumedWriteCapacity-
既存のテーブルに新しい GSI を追加すると、DynamoDB は基本テーブルから新しいインデックスにデータをコピーするバックフィルオペレーションを実行します。このプロセスでは、書き込みキャパシティーユニットが消費されます。
OnlineIndexConsumedWriteCapacityメトリクスは、この特定の消費量を追跡します。この消費は、
ConsumedWriteCapacityUnitsによって追跡される通常の書き込みオペレーションとは別に追加されます。GSI の通常のConsumedWriteCapacityUnitsメトリクスには、インデックスの作成中に消費される書き込みスループットは含まれません。
-
-
ProvisionedReadCapacityUnitsおよびProvisionedWriteCapacityUnits-
テーブルまたは指定したグローバルセカンダリインデックスについて、指定した期間に消費された書き込み容量ユニットのプロビジョンド読み取りまたは書き込み容量ユニットの数。
-
デフォルトでは、
TableNameディメンションはテーブルのみのProvisionedReadCapacityUnitsを返します。グローバルセカンダリインデックスの読み込みまたは書き込みのプロビジョンドキャパシティユニットの数を確認するには、TableNameとGlobalSecondaryIndexNameの両方を指定する必要があります。
-
-
ConsumedReadCapacityUnitsおよびConsumedWriteCapacityUnits-
指定された期間に消費された読み取りまたは書き込みキャパシティユニットの数を表示します。
ConsumedWriteCapacityUnitsには、最初のインデックス作成プロセス中に消費された書き込みキャパシティは含まれません。
-
-
DynamoDB CloudWatch のメトリクスの詳細については、「DynamoDB のメトリクスとディメンション」を参照してください。