DynamoDB has read throttles
Why do I see this?
One of your DynamoDB tables has exceeded the provisioned read capacity units (RCUs) in the last 60 minutes.
What does this mean?
AWS offers two read/write capacity modes for processing reads and writes requests on DynamoDB tables:
As the name suggests, the on-demand mode automatically accommodates the read/write requests as they ramp up or down whereas the provisioned mode lets you specify the number of reads and writes per second that is required for your applications. If a table exceeds its provisioned throughput for RCU, it starts throttling read requests and failing them with an HTTP 400 code: Bad Request and a ProvisionedThroughputExceededException. This event notifies you when DynamoDB starts throttling one of your table's read requests.
How do I fix "DynamoDB has read throttles"?
Following are some of the things you can do to resolve throttling on DynamoDB tables:
- Make sure your table has suffiecient provisioned capacity based on what your application requires.
- Enable retries for throttled requests using exponential backoff.
- Distribute read and write operations as evenly as possible accross your table.
- Check the table-level read throughput quotas for your account. If the write requests exceed this quota then you can use Service Quotas console to increase the table-level throughput quota for your account.
For more information you can check out following AWS guides: