dynamic-dynamodb icon indicating copy to clipboard operation
dynamic-dynamodb copied to clipboard

Limit the number of downscale actions

Open kennethjor opened this issue 9 years ago • 6 comments

DynamoDB is limited by default to 4 downscales per 24 hours. I'm finding that Dynamic DynamoDB exhausts this limit in the first hours of each day, scaling up and down, often leaving us severely over capacity for more than half the day. Is there currently a way to limit the number of downscaling actions performed? Perhaps a cooldown period or something?

kennethjor avatar Apr 26 '16 10:04 kennethjor

You can set the interval of the checks to once each 6 hours (4 times per day), and set your downscale rules accordingly.

danutDiac avatar Apr 26 '16 10:04 danutDiac

True, but then I would also limit the number of scaling up actions. I'd like to scale up fast, but only limit scaling down.

kennethjor avatar Apr 26 '16 10:04 kennethjor

You can have a separate config designed for upscale that will also have a rule for downscale that won't ever (or rarely) be executed, and run that separately.

danutDiac avatar Apr 26 '16 10:04 danutDiac

That would be a workaround yes.

Perhaps we could add decrease-reads-cooldown and decrease-writes-cooldown parameters so it automatically waits for a configured number of seconds since the last scale down before executing another one.

kennethjor avatar Apr 26 '16 10:04 kennethjor

num-read-checks-before-scale-down and num-write-checks-before-scale-down may achieve the same effect.

fedenusy avatar May 03 '16 18:05 fedenusy

Although much less mature than dynamic-dynamodb, my implementation at https://github.com/channl/dynamodb-lambda-autoscale might suit you as it segments the remaining daily time period by the remaining allowance of downscaling operations.

tmitchel2 avatar May 03 '16 21:05 tmitchel2