我負載以每秒3000個請求測試服務。每個請求都從DynamoDB表中提取數據。該表具有每秒10,000次讀取的規定讀取容量。不過,我收到以下異常:DynamoDB ProvisionedReadCapacity超過
com.amazonaws.services.dynamodbv2.model.ProvisionedThroughputExceededException: The level of configured provisioned throughput for the table was exceede d. Consider increasing your provisioning level with the UpdateTable API (Service: AmazonDynamoDBv2; Status Code: 400; Error Code: ProvisionedThroughputE xceededException; Request ID: KHOG5L1S83VU05CAOEJCCPAUFVVV4KQNSO5AEMVJF66Q9ASUAAJG)
我的表說明如下。
$ aws dynamodb describe-table --table-name my_table
{
"Table": {
"TableArn": "arn:aws:dynamodb:us-east-1:188456577:table/my_table",
"AttributeDefinitions": [
{
"AttributeName": "username",
"AttributeType": "S"
}
],
"ProvisionedThroughput": {
"NumberOfDecreasesToday": 0,
"WriteCapacityUnits": 10000,
"LastIncreaseDateTime": 1462386432.633,
"ReadCapacityUnits": 10000
},
"TableSizeBytes": 289776,
"TableName": "my_table",
"TableStatus": "ACTIVE",
"KeySchema": [
{
"KeyType": "HASH",
"AttributeName": "username"
}
],
"ItemCount": 81,
"CreationDateTime": 1458249331.208
}
}
可以看出,表的讀寫容量單位都設置爲10,000。
我正在監控豆杆服務的health
,同時負載測試正在進行中,請求數平均每秒約爲3K。我不明白爲什麼吞吐量超過了。該表還應該每秒獲得3,000個請求。
什麼的[CloudWatch的指標(http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/MonitoringDynamoDB.html#dynamodb-metrics)說明了什麼? –
@ Michael-sqlbot我已將cloudwatch指標添加到帖子中。它表明消耗的容量大約爲3,000個單位,這是我的預期。但是,我正在接受這些例外。 – Nik
我建議深入到AWS支持 – Shibashis