Why is my on-demand DynamoDB table getting throttled?
3 minute read
My on-demand Amazon DynamoDB table has throttling.
DynamoDB tables that use on-demand capacity mode automatically adapt to your application's traffic volume. However, tables that use the on-demand mode might still throttle. To troubleshoot your use case, refer to the following common causes of throttling:
The traffic is more than double the previous peak
If you exceed double your previous traffic's peak within 30 minutes, then you might experience throttling. Before you exceed your previous traffic's peak, it's a best practice to spread your traffic growth over at least 30 minutes. To monitor traffic to the table, use the ConsumedReadCapacityUnits metric in Amazon CloudWatch. For more information, see DynamoDB metrics and dimensions.
For new on-demand tables, you can immediately drive up to 4,000 write request units or 12,000 read request units, or a linear combination of both.
For an existing table that you switched to on-demand capacity mode, the previous peak is one of the following values:
Half the previous provisioned throughput for the table
The setting for a newly created table with on-demand capacity mode
Each partition on the table can serve up to 3,000 read request units or 1,000 write request units, or a linear combination of both. If the traffic to a partition exceeds this limit, then the partition might be throttled. To resolve this issue, take the following actions:
For on-demand tables, the table-level read throughput and table-level write throughput quotas apply at the account level. By default, the table throughput has a maximum of 40,000 read requests units and a maximum of 40,000 write requests units. If the traffic to a table exceeds the per-table account quotas for throughput, then the table might experience throttling. To resolve this issue, use the Service Quotas console to increase the table-level read throughput and write throughput quotas for your account.
The global secondary index of your table is throttled