CloudWatch メトリクスを使用したスロットリング問題の調査
以下は、スロットリングイベント中にモニタリングすべき DynamoDB メトリクスの一部です。これらを使用して、リクエストのスロットリングを起こしているオペレーションを見つけて、根本的な問題を特定します。
-
ThrottledRequests
-
1 つのスロットリングされているリクエストに複数のスロットリングイベントが含まれることがあるため、リクエストよりもイベントのほうが、例とより関連している場合があります。例えば、GSI を持つテーブル内の項目を更新する場合、テーブルへの書き込みオペレーションと各インデックスへの書き込みオペレーションという複数のイベントが発生します。これらのイベントの 1 つまたは複数がスロットリングされた場合でも、
ThrottledRequest
は 1 つだけです。
-
-
ReadThrottleEvents
-
1 つのテーブルまたは GSI のプロビジョニングされた RCU を超えるリクエストを監視します。
-
-
WriteThrottleEvents
-
1 つのテーブルまたは GSI のプロビジョニングされた WCU を超えるリクエストを監視します。
-
-
OnlineIndexConsumedWriteCapacity
-
新しい GSI をテーブルに追加するときに消費される WCU の数に注目します。GSI の
ConsumedWriteCapacityUnits
には、インデックスの作成中に消費される WCU は含まれません。 -
GSI に対する WCU の設定が低すぎると、バックフィルフェーズ中の受信書き込みアクティビティがスロットリングされることがあります。
-
-
Provisioned Read/Write
-
テーブルまたは指定したグローバルセカンダリインデックスについて、指定した期間に消費された書き込み容量ユニットのプロビジョンド読み取りまたは書き込み容量ユニットの数。
-
デフォルトでは、
TableName
ディメンションはテーブルのみのProvisionedReadCapacityUnits
を返します。グローバルセカンダリインデックスの読み込みまたは書き込みのプロビジョンドキャパシティユニットの数を確認するには、TableName
とGlobalSecondaryIndexName
の両方を指定する必要があります。
-
-
Consumed Read/Write
-
指定された期間に消費された読み取りまたは書き込み容量ユニットの数。
-
DynamoDB CloudWatch のメトリクスの詳細については、「DynamoDB のメトリクスとディメンション」を参照してください。