私は毎秒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に設定されています。
私は、負荷テストが進行中で、実際にリクエスト数が平均で約3K /秒でしたが、Beanstalkサービスのhealth
を監視していました。私はなぜスループット能力を超えているのか分かりません。また、テーブルには毎秒3000件のリクエストが必要です。
[cloudwatch metrics](http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/MonitoringDynamoDB.html#dynamodb-metrics)の表示内容は何ですか? –
@ Michael-sqlbot投稿にクラウドウォッチメトリックを追加しました。消費量は約3000台で、これは私が期待していたものです。しかし、私はそれらの例外を取得しています。 – Nik
awsのサポートに連絡することをお勧めします – Shibashis