dynamic-dynamodb
dynamic-dynamodb copied to clipboard
Limit the number of downscale actions
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?
You can set the interval of the checks to once each 6 hours (4 times per day), and set your downscale rules accordingly.
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.
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.
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.
num-read-checks-before-scale-down and num-write-checks-before-scale-down may achieve the same effect.
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.