Open tfeak opened 8 years ago
As a side note, you might consider updating the documentation on lookback-window-start. It appears unstable below a value of 3, which would also match with my Cloudwatch experience. Realistically dynamo cloudwatch values don't seem to be reliably available prior to that and the edge case doesn't appear to be handled.
I was experimenting with this on a development environment and had a situation where these configuration options were not sufficient to stop the tool from updating the write throughput.
under [default_options] I have both max-provisioned-writes: 2 enable-writes-up-scaling: false
And yet, the following occurred in the logs: [ec2-user@ip-192-168-11-111 ~]$ dynamic-dynamodb --config test.conf 2016-04-25 17:18:48,623 - dynamic-dynamodb - INFO - Dev.PlayerInventory - Consumed read units: 20.53% 2016-04-25 17:18:48,648 - dynamic-dynamodb - INFO - Dev.PlayerInventory - Consumed write units: 0.00% 2016-04-25 17:18:48,677 - dynamic-dynamodb - INFO - Dev.PlayerInventory - Consumed read units: 20.53% 2016-04-25 17:18:48,686 - dynamic-dynamodb - INFO - Dev.PlayerInventory - Read throttle count: 10 2016-04-25 17:18:48,702 - dynamic-dynamodb - INFO - Dev.PlayerInventory - Throttled read percent by provision: 0.33% 2016-04-25 17:18:48,726 - dynamic-dynamodb - INFO - Dev.PlayerInventory - Throttled read percent by consumption: 1.62% 2016-04-25 17:18:48,727 - dynamic-dynamodb - INFO - Dev.PlayerInventory - Consecutive read checks 1/1 2016-04-25 17:18:48,756 - dynamic-dynamodb - INFO - Dev.PlayerInventory - Consumed write units: 0.00% 2016-04-25 17:18:48,771 - dynamic-dynamodb - INFO - Dev.PlayerInventory - Write throttle count: 0 2016-04-25 17:18:48,795 - dynamic-dynamodb - INFO - Dev.PlayerInventory - Throttled write percent by provision: 0.00% 2016-04-25 17:18:48,823 - dynamic-dynamodb - INFO - Dev.PlayerInventory - Throttled write percent by consumption: 0.00% 2016-04-25 17:18:48,824 - dynamic-dynamodb - INFO - Dev.PlayerInventory - Scaling down writes is not done when usage is at 0% 2016-04-25 17:18:48,824 - dynamic-dynamodb - INFO - Will not increase writes over max-provisioned-writes limit (2 writes) 2016-04-25 17:18:48,824 - dynamic-dynamodb - INFO - Dev.PlayerInventory - Consecutive write checks 0/1 2016-04-25 17:18:48,824 - dynamic-dynamodb - INFO - Dev.PlayerInventory - Changing provisioning to 5 read units and 2 write units 2016-04-25 17:18:48,863 - dynamic-dynamodb - INFO - Dev.PlayerInventory - Updating provisioning to 5 reads and 10 writes
You'll notice that it indicates it will not increase writes over max-provisioned-writes, but it does update it anyway. Furthermore, the consumed write units was 0.00%. at the time, so there was no need to increase it.
This happened while I was experimenting with lookback-window-start value. I tried setting the value to 1-2 minutes, which seems to be too small and caused inaccurate measurement of the Consumed Read Units. I can reproduce this behavior with dry-runs at will by setting this value to 2 or 1. At 3, the behavior goes away.