这些天,我测试了 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-latencyDynamodb 控制台中的指标在我的测试中显示为 100-150 毫秒。它是如何测量的?
1 回答
慕仙森
TA贡献1827条经验 获得超7个赞
读取或写入单个项目时,您应该期望单位数毫秒的性能。但是当查询一个包含 5000 个项目的页面时(就像你的情况一样),看到 ~100ms 是正常的。
当然,您还应该确保客户端离 DynamoDB 端点不会太远。环游世界一圈可以轻松增加100ms以上。
添加回答
举报
0/150
提交
取消