DynamoDB Throughput and Modes

Learn different methods to optimize the performance of a DynamoDB table.

Unlike traditional databases, DynamoDB offers two distinct capacity modes—provisioned and on-demand—to fit different workload profiles. Each mode had its own implications for performance, predictability, and cost.

AWS also provides several built-in mechanisms to help applications respond to fluctuating traffic without manual intervention.

Press + to interact

Provisioned capacity mode

In provisioned capacity mode, we explicitly define how much read and write throughput our table needs. This involves setting:

  • Read Capacity Units (RCUs): Each RCU allows one strongly consistent read per second for an item up to 4 KB in size, or two eventually consistent reads.

  • Write Capacity Units (WCUs): Each WCU allows one standard write per second for an item up to 1 KB.

Requests are throttled if our workload exceeds the provisioned limits and we don’t have burst capacity available. Provisioned mode worked best for applications with predictable traffic patterns or those requiring tight cost control through pre-set limits.

Press + to interact
Provisioned capacity mode
Provisioned capacity mode

Throughput management with auto scaling

For tables using provisioned capacity, AWS offers auto scaling to dynamically adjust RCUs and WCUs in response to traffic patterns. Auto scaling works by:

  • Monitoring CloudWatch metrics like ConsumedReadCapacityUnits and ConsumedWriteCapacityUnits.

  • Adjusting throughput based on a target utilization percentage (typically between 70–90%).

  • Automatically increasing capacity during traffic spikes and decreasing it when demand falls, all while staying within your defined min/max limits.

Press + to interact
Throughput management of DynamoDB table using AutoScaling
Throughput management of DynamoDB table using AutoScaling

This helps keep the application responsive without requiring constant manual ...