这些天,我测试了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是一个关键值和文档数据库,可以在任何规模上提供单位数毫秒的性能。
此外,
query-latency
DynaModb控制台中的度量在我的测试中显示100-150ms。
它是如何测量的?