【发布时间】:2019-01-24 11:57:21
【问题描述】:
这些天,我测试了 Dynamodb 的性能,但我对性能感到失望。
我只在没有任何过滤条件的分区键上使用了query 命令。这意味着它只是简单地读取索引并返回。
dynamodb.query(
TableName='test-table',
ReturnConsumedCapacity='TOTAL',
KeyConditionExpression='tid = :tid',
Limit=5000,
ExpressionAttributeValues={
':tid': {'N': '9999999'},
}
)
---------- Part of Response ----------
{
.
.
.
"Count": 5000,
"ScannedCount": 5000,
"LastEvaluatedKey": {
"tid": {
"N": "9999999"
},
"uid": {
"N": "985377"
}
},
"ConsumedCapacity": {
"TableName": "sam-push-test",
"CapacityUnits": 110.5
}
}
大约需要 0.5 秒。它在与 Dynamodb 位于同一区域的 AWS Lambda(1024 内存)中进行了测试。
我很好奇表现不佳是一种正常情况,或者我应该错过了什么。
显然,AWS 是在说 Dynamodb 提供个位数毫秒的性能。
Amazon DynamoDB 是一种键值对和文档数据库,可在任何规模下提供个位数毫秒的性能。
此外,Dynamodb 控制台中的 query-latency 指标在我的测试中显示为 100-150 毫秒。
它是如何测量的?
【问题讨论】:
标签: python amazon-web-services amazon-dynamodb python-3.6 boto3