gpt4 book ai didi

amazon-dynamodb - 超出 DynamoDB ProvisionedReadCapacity

转载 作者:行者123 更新时间:2023-12-04 02:12:19 24 4
gpt4 key购买 nike

enter image description here 我正在对每秒 3000 个请求的服务进行负载测试。每个请求都从 DynamoDB 表中获取数据。该表的预置读取容量为每秒 10,000 次读取。但是,我收到以下异常:

com.amazonaws.services.dynamodbv2.model.ProvisionedThroughputExceededException:已超出为表配置的配置吞吐量级别
d.考虑使用 UpdateTable API 提高您的配置级别(服务:AmazonDynamoDBv2;状态代码:400;错误代码:ProvisionedThroughputE
超出异常;请求 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
}
}

可以看到,表的读写容量单位都设置为10000。

在进行负载测试时,我正在监控 beantalk 服务的健康状况,平均每秒请求数确实在 3K 左右。我不明白为什么会超出吞吐量。该表还应每秒接收 3,000 个请求。

最佳答案

DynamoDB 不会限制整个表的容量。来自文档:

The provisioned throughput associated with a table is also divided evenly among the partitions, with no sharing of provisioned throughput across partitions.

因此,如果您的读取容量为每秒 10,000 次,并且您的表有 10 个分区,则每个分区分配的读取容量为每秒 1000 次读取。如果在您的负载测试中,您正在点击同一分区中的键(工作负载分布不均),那么您将看到 ProvisionedThroughputExceededExceptions。您应该尝试均匀分布分区键空间,以便充分利用预配置的吞吐量。

阅读有关此主题的更多信息 here .

关于amazon-dynamodb - 超出 DynamoDB ProvisionedReadCapacity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37265199/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com