Skip to content

Provisioned Throughput Exceeded & Exponential Backoff Exam Tips

You might see ProvisionedThroughputExceededException if you request rate is too high for the read / write capacity provisioned on your DynamoDB table.

  • SDK will automatically retries the requests until successful
  • If you are not using the SDK, you can do one or both of the following:
    1. Reduce request frequency
    2. Use Exponential Backoff

Exponential Backoff

  • Many components in a network can generate errors due to too many requests coming in at the same time (i.e. overloaded)
    • Network Switches
    • DNS Servers
    • Load Balancers
    • Etc.
  • The usual fix are retries; however, there's also Exponential Backoff, which all AWS SDKs use.
  • Progressively longer waits between consecutive retries (e.g. 50ms, 100ms, 200ms) until successful, for improved flow control
  • If after 1 minute this doesn't work, your request size may be exceeding the throughput for your read / write capacity. This might necessitate investigating your throughput allocation.
  • If you're using reads, you might consisder using DAX or Elasticache.
  • Remember this is not just true for the DynamoDB SDK. Exponential Backoff is a feature of every AWS SDK and applies to many services within AWS (e.g. S3 buckets, CloudFormation, SES)