hatellla
hatellla

Reputation: 5132

DynamoDb throttling write requests even though DB is under provisioned capacity

In the dynamodb table, we are getting lot of throttled write requests at the rate of ~2500/min. I am having confusions in some of the things here:

  1. The consumed write capacity is much lower than the provisioned write capacity. Eg. Consumed Write capacity = 500 and Provisioned Write Capacity = 800. Then also, why the throttling is happening?

  2. There is another metric called Throttle write events which is like 100/min. What does this mean and how its different from throttle write requests?

  3. The parameters in capacity I see to change are Target utilization, Minimum provisioned capacity and Maximum provisioned capacity for Write. They all look good to me. I am using Auto scaling. So, I am not sure, what is to increase which can fix this issue?

  4. What is happening to the throttled write events? Will they result in exception in code?

Upvotes: 1

Views: 1765

Answers (2)

kon psych
kon psych

Reputation: 666

If the database in encrypted with KMS, it is also possible that KMS throttles. This throttle will count both as KMS and dynamoDB throttle in metrics.

Upvotes: 0

Tilo
Tilo

Reputation: 33732

How much do the partition keys vary when you write your data?

I previously ran into a similar issue, when inserting a lot of data for the same partition key in many consecutive BatchWriteItem calls. The problem there was that there were too many write requests for the same partition key - overwhelming the partitions - which caused the throttling.

The solution is to structure the data in a BatchWriteItem call in such a way, that the partition keys are not repeating as much.

Upvotes: 1

Related Questions