亚马逊DynamoDB的吞吐量是如何计算和限制? [英] How is Amazon DynamoDB throughput calculated and limited?

查看:1373
本文介绍了亚马逊DynamoDB的吞吐量是如何计算和限制?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

时的每秒它平均?每分钟?每小时?

例如..如果我付10读取装置,它允许每秒10高度一致的读取,我将进行节流,如果我尝试做20来读取一个第二,即使是唯一的20读这发生在最后一小时?亚马逊的文档和FAQ没有回答这个关键的问题在任何地方,我能找到。

唯一相关的答复,我能找到的常见问题完全忽视了如何使用的计算方法的问题,而当节流可能发生:

  

问:如果我的应用程序执行多个读取或写入相比会发生什么   我配置的能力?

     

答::如果您的应用程序进行更   读取/秒或写入/秒比你的表的供应吞吐量   容量允许,上方的供应能力的要求会   节流,您将收到400错误codeS。例如,如果你   曾要求1000写入容量单位,并尝试做1500   写1 KB的项目/秒,DynamoDB将只允许1000   写入/秒要经过,你会收到错误code 400   你的额外要求。您应该使用的CloudWatch监控您的要求   率,以确保您始终有足够的供应吞吐量   做到这一点,你需要的请求速率。

解决方案

在DynamoDB提供了连拍能力,这使得从表中读取的数据量峰值。你可以在阅读更多关于它:<一href="http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GuidelinesForTables.html#GuidelinesForTables.Bursting" rel="nofollow">http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GuidelinesForTables.html#GuidelinesForTables.Bursting

基本上它就是@abjennings发现 - 它使用5分钟窗口平均数读取表

Is it averaged per second? Per minute? Per hour?

For example.. if I pay for 10 "read units" which allows for 10 highly consistent reads per second, will I be throttled if I try to do 20 reads in a single second, even if it was the only 20 reads that occurred in the last hour? The Amazon documentation and FAQ do not answer this critical question anywhere that I could find.

The only related response I could find in the FAQ completely ignores the issue of how usage is calculated and when throttling may happen:

Q: What happens if my application performs more reads or writes than my provisioned capacity?

A: If your application performs more reads/second or writes/second than your table’s provisioned throughput capacity allows, requests above your provisioned capacity will be throttled and you will receive 400 error codes. For instance, if you had asked for 1,000 write capacity units and try to do 1,500 writes/second of 1 KB items, DynamoDB will only allow 1,000 writes/second to go through and you will receive error code 400 on your extra requests. You should use CloudWatch to monitor your request rate to ensure that you always have enough provisioned throughput to achieve the request rate that you need.

解决方案

The DynamoDB provides 'Burst Capacity' which allows for spikes in amount of data read from table. You can read more about it under: http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GuidelinesForTables.html#GuidelinesForTables.Bursting

Basically it's what @abjennings noticed - It uses 5min window to average number of reads from a table.

这篇关于亚马逊DynamoDB的吞吐量是如何计算和限制?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆