Your request rate is too high for the read/write capacity provisioned on your DynamoDB table
SDK will automatically retry the requests until successful
If you are not using the SDK you can:
Reduce request frequency
Use Exponential Backoff
What is Exponential Backoff?
Many components in a network can generate errors due to being overloaded
In addition to simple retries all AWS SDKs use Exponential Backoff
Progressively longer waits between consecutive retries
50 ms, 100 ms, 200 ms...improved flow control
If after 1 minute this doesn't work, your request size may be exceeding the throughput for your read/write capacity
If your workload is mainly GET requests, may improve performance using DAX or elasticache
IF it is write, take a look at increasing write capacity
Exam Tips
If you see the ProvisionedThroughputExceeded Error, the number of requests is too high
Exponential Backoff improves flow by retrying requests using progressively longer waits
This is not just true for DynamoDB, Exponential Backoff is a feature of EVERY AWS SDK and applies to many services within AWS e.g. S3 Buckets, CloudFormation, SES
If you aren't using an SDK, you must handle exponential backoff yourself by changing request timing