Amazon SQS での FIFO スロットリング問題のトラブルシューティング - Amazon Simple Queue Service

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon SQS での FIFO スロットリング問題のトラブルシューティング

デフォルトでは、FIFO キューは、SendMessageReceiveMessageDeleteMessage の API アクションごとに 1 秒あたり 300 トランザクションをサポートします。キュー内のメッセージが利用可能であっても、300 TPS を超えるリクエストは ThrottlingException エラーになります。これを緩和するには、以下の方法を使用できます。

  • Amazon SQS における FIFO キューの高スループットの有効化.

  • Amazon SQS の API バッチアクション (SendMessageBatchDeleteMessageBatchChangeMessageVisibilityBatch) を使用して、API アクションごとに 1 秒あたり最大 3,000 メッセージまで TPS 制限を引き上げ、コストを削減します。ReceiveMessage API の場合、トランザクションごとに最大 10 個のメッセージを受信するように MaxNumberofMessages パラメータを設定します。詳細については、「Amazon SQSのバッチアクション」を参照してください。

  • 高スループットの FIFO キューの場合は、パーティション使用率を最適化するための推奨事項に従います。同じメッセージグループ ID を共有するメッセージは、バッチで送信します。同じ ReceiveMessage API リクエストからの受信ハンドルを使用して、メッセージをバッチで削除するか、メッセージの可視性タイムアウト値をバッチで変更します。

  • 一意の MessageGroupId 値の数を増やします。これにより、FIFO キューパーティション間での均等な分散が可能になります。詳細については、「Amazon SQS メッセージグループ ID の使用」を参照してください。

詳細については、「AWS 情報センターガイド」の「Amazon SQS FIFO キューがすべてのメッセージまたは他のメッセージグループのメッセージを返すわけではないのはなぜですか?」を参照してください。