sebdah / dynamic-dynamodb

Dynamic DynamoDB provides auto scaling for AWS DynamoDB
http://dynamic-dynamodb.readthedocs.org/
Apache License 2.0
618 stars 124 forks source link

downscales when consumed 0 and allow-scaling-down-reads-on-0-percent: false #294

Open abiacco opened 8 years ago

abiacco commented 8 years ago

I'm testing this script out for the first time and it seems to want to downscale a table even if consumed is 0. Even tried with increase-consumed-reads-scale: {0: 0}. Same result. Any help is appreciated.

CONFIG [global]

[logging] log-level: debug log-file: /var/log/dynamic-dynamodb.log

[default_options] enable-reads-up-scaling: true enable-reads-down-scaling: true increase-reads-unit: percent decrease-reads-unit: percent min-provisioned-reads: 1 max-provisioned-reads: 500 allow-scaling-down-reads-on-0-percent: false enable-writes-up-scaling: true enable-writes-down-scaling: true increase-writes-unit: percent decrease-writes-unit: percent min-provisioned-writes: 1 max-provisioned-writes: 500 allow-scaling-down-writes-on-0-percent: false [table: ^test$]

LOG 2016-04-25 11:18:51,335 - dynamic-dynamodb - DEBUG - test - Currently provisioned read units: 15 2016-04-25 11:18:51,335 - dynamic-dynamodb - INFO - test - Consumed read units: 0.00% 2016-04-25 11:18:51,362 - dynamic-dynamodb - DEBUG - test - Currently provisioned write units: 15 2016-04-25 11:18:51,362 - dynamic-dynamodb - INFO - test - Consumed write units: 0.00% 2016-04-25 11:18:51,362 - dynamic-dynamodb - DEBUG - test - Throughput alarm thresholds not crossed 2016-04-25 11:18:51,378 - dynamic-dynamodb - DEBUG - test - Currently provisioned read units: 15 2016-04-25 11:18:51,413 - dynamic-dynamodb - DEBUG - test - Currently provisioned read units: 15 2016-04-25 11:18:51,413 - dynamic-dynamodb - INFO - test - Consumed read units: 0.00% 2016-04-25 11:18:51,427 - dynamic-dynamodb - INFO - test - Read throttle count: 0 2016-04-25 11:18:51,454 - dynamic-dynamodb - DEBUG - test - Currently provisioned read units: 15 2016-04-25 11:18:51,454 - dynamic-dynamodb - INFO - test - Throttled read percent by provision: 0.00% 2016-04-25 11:18:51,580 - dynamic-dynamodb - INFO - test - Throttled read percent by consumption: 0.00% 2016-04-25 11:18:51,581 - dynamic-dynamodb - INFO - test - Scaling down reads is not done when usage is at 0% 2016-04-25 11:18:51,581 - dynamic-dynamodb - DEBUG - test - Setting min provisioned reads to 1 2016-04-25 11:18:51,581 - dynamic-dynamodb - DEBUG - test - Read provisioning will be decreased to 8 units 2016-04-25 11:18:51,581 - dynamic-dynamodb - INFO - test - Consecutive read checks 1/1 2016-04-25 11:18:51,601 - dynamic-dynamodb - DEBUG - test - Currently provisioned write units: 15 2016-04-25 11:18:51,628 - dynamic-dynamodb - DEBUG - test - Currently provisioned write units: 15 2016-04-25 11:18:51,628 - dynamic-dynamodb - INFO - test - Consumed write units: 0.00% 2016-04-25 11:18:51,642 - dynamic-dynamodb - INFO - test - Write throttle count: 0 2016-04-25 11:18:51,674 - dynamic-dynamodb - DEBUG - test - Currently provisioned write units: 15 2016-04-25 11:18:51,675 - dynamic-dynamodb - INFO - test - Throttled write percent by provision: 0.00% 2016-04-25 11:18:51,694 - dynamic-dynamodb - INFO - test - Throttled write percent by consumption: 0.00% 2016-04-25 11:18:51,694 - dynamic-dynamodb - INFO - test - Scaling down writes is not done when usage is at 0% 2016-04-25 11:18:51,694 - dynamic-dynamodb - DEBUG - test - Setting min provisioned writes to 1 2016-04-25 11:18:51,694 - dynamic-dynamodb - DEBUG - test - Write provisioning will be decreased to 8 units 2016-04-25 11:18:51,694 - dynamic-dynamodb - INFO - test - Consecutive write checks 1/1 2016-04-25 11:18:51,694 - dynamic-dynamodb - INFO - test - Changing provisioning to 8 read units and 8 write units 2016-04-25 11:18:51,708 - dynamic-dynamodb - DEBUG - test - Currently provisioned read units: 15 2016-04-25 11:18:51,725 - dynamic-dynamodb - DEBUG - test - Currently provisioned write units: 15 2016-04-25 11:18:51,746 - dynamic-dynamodb - DEBUG - test - Table status is ACTIVE 2016-04-25 11:18:51,768 - dynamic-dynamodb - DEBUG - test - Currently provisioned read units: 15 2016-04-25 11:18:51,790 - dynamic-dynamodb - DEBUG - test - Currently provisioned write units: 15 2016-04-25 11:18:51,790 - dynamic-dynamodb - INFO - test - Updating provisioning to 8 reads and 8 writes

ckrajk commented 8 years ago

Same issue here, going to use these properties as a workaround, num-read-checks-before-scale-down and min-provisioned-reads

amalnanavati commented 8 years ago

+1 same issue here

carlosgarbiatti commented 8 years ago

+1 same issue here

mchhatani commented 8 years ago

Same issue below are the configuration, even if the consumed-capacity is 0, capacity for the table and GSI is not reduced

[logging] log-level: debug

log-file: /var/lib/pgsql/dynamic-dynamodb/log/dynamic-dynamodb-dev.log

[table: dev-WriteServices-CustomerEngagement-v2] reads-upper-alarm-threshold: 75 reads-lower-alarm-threshold: 25 reads-upper-threshold: 80 reads-lower-threshold: 20 increase-reads-with: 25 decrease-reads-with: 25 increase-reads-unit: percent decrease-reads-unit: percent min-provisioned-reads: 5 max-provisioned-reads: 300 enable-reads-up-scaling: true enable-reads-down-scaling: true num-read-checks-before-scale-down: 1