Skip to content
This repository has been archived by the owner on Jun 15, 2023. It is now read-only.

Commit

Permalink
Updated the documentation.
Browse files Browse the repository at this point in the history
  • Loading branch information
Michael Khmelnitsky committed Oct 8, 2019
1 parent f29fbd8 commit 5b4b2b3
Show file tree
Hide file tree
Showing 6 changed files with 16 additions and 13 deletions.
4 changes: 2 additions & 2 deletions doc_source/FIFO-queues.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ For information about creating FIFO queues with or without server\-side encrypti
+ Prevent a student from enrolling in a course before registering for an account\.

FIFO queues also provide exactly\-once processing but have a limited number of transactions per second \(TPS\):
+ By default, FIFO queues support up to 3,000 messages per second, per API action \(`SendMessage`, `ReceiveMessage`, or `DeleteMessage`\), with [batching](sqs-batch-api-actions.md)\. To request a limit increase, [file a support request](https://console.aws.amazon.com/support/home#/case/create?issueType=service-limit-increase&limitType=service-code-sqs)\.
+ By default, standard queues support up to 3,000 messages per second, per API action \(`SendMessage`, `ReceiveMessage`, or `DeleteMessage`\), with [batching](sqs-batch-api-actions.md)\. To request a limit increase, [file a support request](https://console.aws.amazon.com/support/home#/case/create?issueType=service-limit-increase&limitType=service-code-sqs)\.
+ FIFO queues support up to 300 messages per second, per API action \(`SendMessage`, `ReceiveMessage`, or `DeleteMessage`\) without batching\.

**Note**
Expand Down Expand Up @@ -95,7 +95,7 @@ If you have an existing application that uses standard queues and you want to ta
You can't convert an existing standard queue into a FIFO queue\. To make the move, you must either create a new FIFO queue for your application or delete your existing standard queue and recreate it as a FIFO queue\.

Use the following checklist to ensure that your application works correctly with a FIFO queue\.
+ By default, FIFO queues support up to 3,000 messages per second, per API action \(`SendMessage`, `ReceiveMessage`, or `DeleteMessage`\), with [batching](sqs-batch-api-actions.md)\. To request a limit increase, [file a support request](https://console.aws.amazon.com/support/home#/case/create?issueType=service-limit-increase&limitType=service-code-sqs)\. FIFO queues support up to 300 messages per second, per API action \(`SendMessage`, `ReceiveMessage`, or `DeleteMessage`\) without batching\.
+ By default, standard queues support up to 3,000 messages per second, per API action \(`SendMessage`, `ReceiveMessage`, or `DeleteMessage`\), with [batching](sqs-batch-api-actions.md)\. To request a limit increase, [file a support request](https://console.aws.amazon.com/support/home#/case/create?issueType=service-limit-increase&limitType=service-code-sqs)\. FIFO queues support up to 300 messages per second, per API action \(`SendMessage`, `ReceiveMessage`, or `DeleteMessage`\) without batching\.
+ FIFO queues don't support per\-message delays, only per\-queue delays\. If your application sets the same value of the `DelaySeconds` parameter on each message, you must modify your application to remove the per\-message delay and set `DelaySeconds` on the entire queue instead\.
+ Every message sent to a FIFO queue requires a message group ID\. If you don't need multiple ordered message groups, specify the same message group ID for all your messages\.
+ Before sending messages to a FIFO queue, confirm the following:
Expand Down
14 changes: 7 additions & 7 deletions doc_source/sqs-available-cloudwatch-metrics.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,13 @@ The `AWS/SQS` namespace includes the following metrics\.
| --- | --- |
| ApproximateAgeOfOldestMessage | The approximate age of the oldest non\-deleted message in the queue\. When the queue has a redrive policy, the message is moved to a [dead\-letter queue](sqs-dead-letter-queues.md) after the configured maximum number of receives\. When the message is moved to the dead\-letter queue, the `ApproximateAgeOfOldestMessage` metric of the dead\-letter queue represents the time when the message was moved to the dead\-letter queue \(not the original time the message was sent\)\. When a queue *doesn't have* a redrive policy, after the message is received three times \(or more\) and not processed, the message is moved to the back of the queue and the `ApproximateAgeOfOldestMessage` metric points at the second\-oldest message that hasn't been received more than three times\. Reporting Criteria: A non\-negative value is reported [if the queue is active](sqs-monitoring-using-cloudwatch.md)\. Units: Seconds Valid Statistics: Average, Minimum, Maximum, Sum, Data Samples \(displays as Sample Count in the Amazon SQS console\) |
| ApproximateNumberOfMessagesDelayed | The number of messages in the queue that are delayed and not available for reading immediately\. This can happen when the queue is configured as a delay queue or when a message has been sent with a delay parameter\. Reporting Criteria: A non\-negative value is reported [if the queue is active](sqs-monitoring-using-cloudwatch.md)\. Units: Count Valid Statistics: Average, Minimum, Maximum, Sum, Data Samples \(displays as Sample Count in the Amazon SQS console\) |
| ApproximateNumberOfMessagesNotVisible | The number of messages that are in flight\. Messages are considered to be *in flight* if they have been sent to a client but have not yet been deleted or have not yet reached the end of their visibility window\. Reporting Criteria: A non\-negative value is reported [if the queue is active](sqs-monitoring-using-cloudwatch.md)\. Units: Count Valid Statistics: Average, Minimum, Maximum, Sum, Data Samples \(displays as Sample Count in the Amazon SQS console\) |
| ApproximateNumberOfMessagesVisible | The number of messages available for retrieval from the queue\. Reporting Criteria: A non\-negative value is reported [if the queue is active](sqs-monitoring-using-cloudwatch.md)\. Units: Count Valid Statistics: Average, Minimum, Maximum, Sum, Data Samples \(displays as Sample Count in the Amazon SQS console\) |
| NumberOfEmptyReceives | The number of `ReceiveMessage` API calls that did not return a message\. Reporting Criteria: A non\-negative value is reported [if the queue is active](sqs-monitoring-using-cloudwatch.md)\. Units: Count Valid Statistics: Average, Minimum, Maximum, Sum, Data Samples \(displays as Sample Count in the Amazon SQS console\) |
| NumberOfMessagesDeleted | The number of messages deleted from the queue\. Reporting Criteria: A non\-negative value is reported [if the queue is active](sqs-monitoring-using-cloudwatch.md)\. Units: Count Valid Statistics: Average, Minimum, Maximum, Sum, Data Samples \(displays as Sample Count in the Amazon SQS console\) Amazon SQS emits the `NumberOfMessagesDeleted` metric for every successful deletion operation that uses a valid [ receipt handle](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-queue-message-identifiers.html#receipt-handle), including duplicate deletions\. The following scenarios might cause the value of the `NumberOfMessagesDeleted` metric to be higher than expected: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-available-cloudwatch-metrics.html) |
| NumberOfMessagesReceived | The number of messages returned by calls to the `ReceiveMessage` action\. Reporting Criteria: A non\-negative value is reported [if the queue is active](sqs-monitoring-using-cloudwatch.md)\. Units: Count Valid Statistics: Average, Minimum, Maximum, Sum, Data Samples \(displays as Sample Count in the Amazon SQS console\) |
| `NumberOfMessagesSent` | The number of messages added to a queue\. Reporting Criteria: A non\-negative value is reported [if the queue is active](sqs-monitoring-using-cloudwatch.md)\. Units: Count Valid Statistics: Average, Minimum, Maximum, Sum, Data Samples \(displays as Sample Count in the Amazon SQS console\) |
| `SentMessageSize` | The size of messages added to a queue\. Reporting Criteria: A non\-negative value is reported [if the queue is active](sqs-monitoring-using-cloudwatch.md)\. Units: Bytes Valid Statistics: Average, Minimum, Maximum, Sum, Data Samples \(displays as Sample Count in the Amazon SQS console\) `SentMessageSize` does not display as an available metric in the CloudWatch console until at least one message is sent to the corresponding queue\. |
| ApproximateNumberOfMessagesNotVisible | The number of messages that are in flight\. Messages are considered to be in flight if they have been sent to a client but have not yet been deleted or have not yet reached the end of their visibility window\.Reporting Criteria: A non\-negative value is reported [if the queue is active](sqs-monitoring-using-cloudwatch.md)\.Units: CountValid Statistics: Average, Minimum, Maximum, Sum, Data Samples \(displays as Sample Count in the Amazon SQS console\) |
| ApproximateNumberOfMessagesVisible | The number of messages available for retrieval from the queue\.Reporting Criteria: A non\-negative value is reported [if the queue is active](sqs-monitoring-using-cloudwatch.md)\.Units: CountValid Statistics: Average, Minimum, Maximum, Sum, Data Samples \(displays as Sample Count in the Amazon SQS console\) |
| NumberOfEmptyReceives | The number of ReceiveMessage API calls that did not return a message\.Reporting Criteria: A non\-negative value is reported [if the queue is active](sqs-monitoring-using-cloudwatch.md)\.Units: CountValid Statistics: Average, Minimum, Maximum, Sum, Data Samples \(displays as Sample Count in the Amazon SQS console\) |
| NumberOfMessagesDeleted | The number of messages deleted from the queue\.Reporting Criteria: A non\-negative value is reported [if the queue is active](sqs-monitoring-using-cloudwatch.md)\.Units: CountValid Statistics: Average, Minimum, Maximum, Sum, Data Samples \(displays as Sample Count in the Amazon SQS console\)Amazon SQS emits the NumberOfMessagesDeleted metric for every successful deletion operation that uses a valid [ receipt handle](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-queue-message-identifiers.html#receipt-handle), including duplicate deletions\. The following scenarios might cause the value of the NumberOfMessagesDeleted metric to be higher than expected: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-available-cloudwatch-metrics.html) |
| NumberOfMessagesReceived | The number of messages returned by calls to the ReceiveMessage action\.Reporting Criteria: A non\-negative value is reported [if the queue is active](sqs-monitoring-using-cloudwatch.md)\.Units: CountValid Statistics: Average, Minimum, Maximum, Sum, Data Samples \(displays as Sample Count in the Amazon SQS console\) |
| `NumberOfMessagesSent` | The number of messages added to a queue\.Reporting Criteria: A non\-negative value is reported [if the queue is active](sqs-monitoring-using-cloudwatch.md)\.Units: CountValid Statistics: Average, Minimum, Maximum, Sum, Data Samples \(displays as Sample Count in the Amazon SQS console\) |
| `SentMessageSize` | The size of messages added to a queue\.Reporting Criteria: A non\-negative value is reported [if the queue is active](sqs-monitoring-using-cloudwatch.md)\.Units: BytesValid Statistics: Average, Minimum, Maximum, Sum, Data Samples \(displays as Sample Count in the Amazon SQS console\) `SentMessageSize` does not display as an available metric in the CloudWatch console until at least one message is sent to the corresponding queue\. |

## Dimensions for Amazon SQS Metrics<a name="sqs-metric-dimensions"></a>

Expand Down
3 changes: 2 additions & 1 deletion doc_source/sqs-document-history.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ The following table lists changes to the *Amazon Simple Queue Service Developer

| Date | Documentation Update |
| --- | --- |
| October 7, 2019 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-document-history.html) |
| October 3, 2019 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-document-history.html) |
| October 1, 2019 | Revised the information in the [Identity\-Based Policies \(IAM Policies and Amazon SQS Policies\)](sqs-overview-of-managing-access.md#sqs-identity-based-features-of-sqs-policies) section\. |
| September 24, 2019 | Added the following statement to the [Configuring AWS KMS Permissions](sqs-server-side-encryption.md#sqs-what-permissions-for-sse) section: For each data key that AWS KMS generates, SSE calls the `Decrypt` action to verify the integrity of the data key before using it\. |
Expand All @@ -20,7 +21,7 @@ The following table lists changes to the *Amazon Simple Queue Service Developer
| July 31, 2019 | Revised the information in the following sections: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-document-history.html) |
| July 30, 2019 | Revised the information in the following sections: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-document-history.html) |
| July 29, 2019 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-document-history.html) |
| July 26, 2019 | Corrected the following statement throughout this guide: By default, FIFO queues support up to 3,000 messages per second, per API action \(SendMessage, ReceiveMessage, or DeleteMessage\), with [batching](sqs-batch-api-actions.md)\. To request a limit increase, [file a support request](https://console.aws.amazon.com/support/home#/case/create?issueType=service-limit-increase&limitType=service-code-sqs)\. |
| July 26, 2019 | Corrected the following statement throughout this guide: By default, standard queues support up to 3,000 messages per second, per API action \(SendMessage, ReceiveMessage, or DeleteMessage\), with [batching](sqs-batch-api-actions.md)\. To request a limit increase, [file a support request](https://console.aws.amazon.com/support/home#/case/create?issueType=service-limit-increase&limitType=service-code-sqs)\. |
| July 15, 2019 | Added the [Amazon SQS Temporary Queues](sqs-temporary-queues.md) section\. |
| July 11, 2019 | Revised the information in the following sections: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-document-history.html) |
| June 22, 2019 | Fixed a broken link in the [How Can I Get Started with Amazon SQS?](welcome.md#get-started) section\. |
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Increasing Throughput using Horizontal Scaling and Action Batching<a name="sqs-throughput-horizontal-scaling-and-batching"></a>

Amazon SQS queues can deliver very high throughput\. Standard queues support a nearly unlimited number of transactions per second \(TPS\) per API action\. By default, FIFO queues support up to 3,000 messages per second, per API action \(`SendMessage`, `ReceiveMessage`, or `DeleteMessage`\), with [batching](sqs-batch-api-actions.md)\. To request a limit increase, [file a support request](https://console.aws.amazon.com/support/home#/case/create?issueType=service-limit-increase&limitType=service-code-sqs)\. FIFO queues support up to 300 messages per second, per API action \(`SendMessage`, `ReceiveMessage`, or `DeleteMessage`\) without batching\.
Amazon SQS queues can deliver very high throughput\. Standard queues support a nearly unlimited number of transactions per second \(TPS\) per API action\. By default, standard queues support up to 3,000 messages per second, per API action \(`SendMessage`, `ReceiveMessage`, or `DeleteMessage`\), with [batching](sqs-batch-api-actions.md)\. To request a limit increase, [file a support request](https://console.aws.amazon.com/support/home#/case/create?issueType=service-limit-increase&limitType=service-code-sqs)\. FIFO queues support up to 300 messages per second, per API action \(`SendMessage`, `ReceiveMessage`, or `DeleteMessage`\) without batching\.

To achieve high throughput, you must scale message producers and consumers horizontally \(add more producers and consumers\)\.

Expand Down
4 changes: 3 additions & 1 deletion doc_source/sqs-vpc-endpoint-policy.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,9 @@ The following example VPC endpoint policy specifies that the IAM user `MyUser` i
"Action": ["sqs:SendMessage"],
"Effect": "Allow",
"Resource": "arn:aws:sqs:us-east-2:123456789012:MyQueue",
"Principal": "arn:aws:iam:123456789012us-east:user/MyUser"
"Principal": {
"AWS": "arn:aws:iam:123456789012:user/MyUser"
}
}]
}
```
Expand Down
2 changes: 1 addition & 1 deletion doc_source/welcome.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ Amazon SQS and [Amazon SNS](https://aws.amazon.com/sns/) are queue and topic ser

| Standard Queue | FIFO Queue |
| --- | --- |
| **Unlimited Throughput** – Standard queues support a nearly unlimited number of transactions per second \(TPS\) per API action\. **At\-Least\-Once Delivery** – A message is delivered at least once, but occasionally more than one copy of a message is delivered\. **Best\-Effort Ordering** – Occasionally, messages might be delivered in an order different from which they were sent\. | High Throughput – By default, FIFO queues support up to 3,000 messages per second, per API action \(SendMessage, ReceiveMessage, or DeleteMessage\), with [batching](sqs-batch-api-actions.md)\. To request a limit increase, [file a support request](https://console.aws.amazon.com/support/home#/case/create?issueType=service-limit-increase&limitType=service-code-sqs)\. FIFO queues support up to 300 messages per second, per API action \(SendMessage, ReceiveMessage, or DeleteMessage\) without batching\.**Exactly\-Once Processing** – A message is delivered once and remains available until a consumer processes and deletes it\. Duplicates aren't introduced into the queue\.**First\-In\-First\-Out Delivery** – The order in which messages are sent and received is strictly preserved\. |
| **Unlimited Throughput** – Standard queues support a nearly unlimited number of transactions per second \(TPS\) per API action\. **At\-Least\-Once Delivery** – A message is delivered at least once, but occasionally more than one copy of a message is delivered\. **Best\-Effort Ordering** – Occasionally, messages might be delivered in an order different from which they were sent\. | High Throughput – By default, standard queues support up to 3,000 messages per second, per API action \(SendMessage, ReceiveMessage, or DeleteMessage\), with [batching](sqs-batch-api-actions.md)\. To request a limit increase, [file a support request](https://console.aws.amazon.com/support/home#/case/create?issueType=service-limit-increase&limitType=service-code-sqs)\. FIFO queues support up to 300 messages per second, per API action \(SendMessage, ReceiveMessage, or DeleteMessage\) without batching\.**Exactly\-Once Processing** – A message is delivered once and remains available until a consumer processes and deletes it\. Duplicates aren't introduced into the queue\.**First\-In\-First\-Out Delivery** – The order in which messages are sent and received is strictly preserved\. |
| ![\[Image NOT FOUND\]](http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/sqs-what-is-sqs-standard-queue-diagram.png) | ![\[Image NOT FOUND\]](http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/sqs-what-is-sqs-fifo-queue-diagram.png) |
| Send data between applications when the throughput is important, for example: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/welcome.html) | Send data between applications when the order of events is important, for example: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/welcome.html) |

Expand Down

0 comments on commit 5b4b2b3

Please sign in to comment.