我最近在AWS中开始使用Dynamic DynamoDB来处理某些表中的吞吐量峰值。我以为我理解了文档,但Dynamic DynamoDB似乎没有像我预期的那样工作。
动态DynamoDB识别它应该向上扩展并发送通知。然后,当它计算放大的数量时,它会计算当前的读取预测单位是什么。
目前设置为30个单位,日志表明它将扩展到30.0。 这对我来说看起来不正确。
任何人都可以看到我的问题。这是我在日志中看到的内容:
dynamic-dynamodb - DEBUG - MY_TABLE - Currently provisioned read units: 30
dynamic-dynamodb - INFO - MY_TABLE - Consumed read units: 67%
dynamic-dynamodb - DEBUG - MY_TABLE - Currently provisioned write units: 5
dynamic-dynamodb - INFO - MY_TABLE - Consumed write units: 0%
dynamic-dynamodb - INFO - MY_TABLE - Will send high provisioning alert
dynamic-dynamodb - INFO - Sent SNS notification to arn:aws:sns:us-west-2:123456789:DynamicDB_DEV
dynamic-dynamodb - DEBUG - MY_TABLE - Currently provisioned read units: 30
dynamic-dynamodb - DEBUG - MY_TABLE - Currently provisioned read units: 30
dynamic-dynamodb - INFO - MY_TABLE - Consumed read units: 67%
dynamic-dynamodb - INFO - MY_TABLE - Read throttle count: 0
dynamic-dynamodb - DEBUG - MY_TABLE - Read provisioning will be increased to 30.0 units
dynamic-dynamodb - INFO - MY_TABLE - Consecutive read checks 0/1
dynamic-dynamodb - DEBUG - MY_TABLE - Currently provisioned write units: 5
dynamic-dynamodb - DEBUG - MY_TABLE - Currently provisioned write units: 5
dynamic-dynamodb - INFO - MY_TABLE - Consumed write units: 0%
dynamic-dynamodb - INFO - MY_TABLE - Write throttle count: 0
dynamic-dynamodb - INFO - MY_TABLE - Scaling down writes is not done when usage is at 0%
dynamic-dynamodb - INFO - MY_TABLE - Consecutive write checks 0/1
dynamic-dynamodb - INFO - MY_TABLE - No need to change provisioning
dynamic-dynamodb - DEBUG - Sleeping 300 seconds until next check
以下是配置文件的相关部分:
[table: ^MY_TABLE$]
#
# Read provisioning configuration
#
# Thresholds for trigging throughput alarm to send notification (%)
reads-upper-alarm-threshold: 65
#reads-lower-alarm-threshold: 30
# Enable or disable reads autoscaling SHOULDN't need this, but I'll try anything
enable-reads-autoscaling = true
# Enable reads up or down scaling
# Note: Those controls will not have any effect if enable-reads-autoscaling is false
enable-reads-up-scaling = true
enable-reads-down-scaling = true
# Thresholds for scaling up or down the provisioning (%)
# Scales reads up when 90% capacity, scales down reads when 30% capacity
reads-upper-threshold: 65
reads-lower-threshold: 30
# How many percent should Dynamic DynamoDB increase/decrease provisioning with (%)
increase-reads-with: 50
decrease-reads-with: 50
# Units to increase or decrease reads with, must be either percent or units
increase-reads-unit: percent
decrease-reads-unit: percent
# Maximum and minimum read provisioning
# Dynamic DynamoDB will not provision any more or less reads than this
min-provisioned-reads: 30
max-provisioned-reads: 75