Quotas related to messages - Amazon Simple Queue Service

Quotas related to messages

The following table lists quotas related to messages.

Quota Description
Batched message ID A batched message ID can have up to 80 characters. The following characters are accepted: alphanumeric characters, hyphens (-), and underscores (_).
Message attributes A message can contain up to 10 metadata attributes.
Message batch

A single message batch request can include a maximum of 10 messages. For more information, see Configuring AmazonSQSBufferedAsyncClient in the Amazon SQS batch actions section.

Message content

A message can include only XML, JSON, and unformatted text. The following Unicode characters are allowed: #x9 | #xA | #xD | #x20 to #xD7FF | #xE000 to #xFFFD | #x10000 to #x10FFFF

Any characters not included in this list are rejected. For more information, see the W3C specification for characters.

Message group ID

Consume messages from the backlog to avoid building up a large backlog of messages with the same message group ID.

MessageGroupId is required for FIFO queues. You can't use it for Standard queues.

You must associate a non-empty MessageGroupId with a message. If you don't provide a MessageGroupId, the action fails.

The length of MessageGroupId is 128 characters. Valid values: alphanumeric characters and punctuation (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~).

Message retention By default, a message is retained for 4 days. The minimum is 60 seconds (1 minute). The maximum is 1,209,600 seconds (14 days).
Message throughput Standard queues support a nearly unlimited number of API calls per second, per API action (SendMessage, ReceiveMessage, or DeleteMessage).

FIFO queues

  • FIFO queues support a quota of 300 transactions per second, per API action (SendMessage, ReceiveMessage, and DeleteMessage).

  • If you use batching, FIFO queues support up to 3,000 messages per second, per API action (SendMessage, ReceiveMessage, and DeleteMessage). The 3,000 messages per second represent 300 API calls, each with a batch of 10 messages.

High throughput for FIFO queues

  • Without batching (SendMessage, ReceiveMessage, and DeleteMessage), high throughput for FIFO queues process up to 70,000 transactions per second, per API action in US East (N. Virginia), US West (Oregon), and Europe (Ireland) Regions.

  • For US East (Ohio) and Europe (Frankfurt) Regions, the default throughput is 18,000 transactions per second per API action.

  • For Asia Pacific (Mumbai), Asia Pacific (Singapore), Asia Pacific (Sydney) and Asia Pacific (Tokyo) Regions, the default throughput is 9,000 transactions per second per API action.

  • For Europe (London) and South America (São Paulo), the default throughput is 4,500 transactions per second per API action.

  • For maximum throughput, increase the number of message group IDs you use for messages sent without batching.

  • You can increase throughput up to 700,000 messages per second by using batching APIs (SendMessageBatch and DeleteMessageBatch)in US East (N. Virginia), US West (Oregon), and Europe (Ireland) Regions. The 700,000 messages per second represents 70,000 transactions per second, each with a batch of 10 messages.

    For Europe (Frankfurt) and US East (Ohio) Regions, you can achieve up to 180,000 messages per second by using batching APIs. The 180,000 messages per second represents 18,000 transactions per second, each with a batch of 10 messages.

    For Asia Pacific (Mumbai), Asia Pacific (Singapore), Asia Pacific (Sydney) and Asia Pacific (Tokyo) Regions, you can achieve up to 90,000 messages per second with batching. To achieve the maximum throughput when using SendMessageBatch and DeleteMessageBatch, all messages in a batch request must use the same message group ID.

  • For Europe (London) and South America (São Paulo), regions, you can achieve up to 45,000 messages per second with batching. To achieve the maximum throughput when using SendMessageBatch and DeleteMessageBatch, all messages in a batch request must use the same message group ID.

  • In all other AWS Regions, maximum throughput is 2,400 (without batching) or 24,000 (using batching) messages per second, per API action.

  • To request a quota increase above the region limit, submit a support request.

  • For more information, see Partitions and data distribution for high throughput for SQS FIFO queues.

Message timer The default (minimum) delay for a message is 0 seconds. The maximum is 15 minutes.
Message size

The minimum message size is 1 byte (1 character). The maximum is 262,144 bytes (256 KiB).

To send messages larger than 256 KiB, you can use the Amazon SQS Extended Client Library for Java and the Amazon SQS Extended Client Library for Python. This library allows you to send an Amazon SQS message that contains a reference to a message payload in Amazon S3. The maximum payload size is 2 GB.

Note

This extended library works only for synchronous clients.

Message visibility timeout The default visibility timeout for a message is 30 seconds. The minimum is 0 seconds. The maximum is 12 hours.
Policy information The maximum quota is 8,192 bytes, 20 statements, 50 principals, or 10 conditions. For more information, see Quotas related to policies.