繁体   English   中英

Dynamodb 什么是 WCU 和 RCU?

[英]Dynamodb what are WCU and RCU?

看了很多文章,还是搞不懂WCU和RCU是什么意思。 Dynamo 提供以下免费套餐:

  • 25 个预置写入容量单元 (WCU)
  • 25 个预置读取容量单元 (RCU)

“每秒 25 次读写”是什么意思? 我有一个 web 应用程序和一个从 Dynamo 读取的 API。 这是否意味着它每秒只能处理 25 个查询和写入? 如果是,如果我们在一秒钟内收到 26 个读取请求会怎样?

我很困惑,希望能得到一个使用 web 应用程序的真实示例的解释。

正如您所说,RCU 和 WCU 测量每秒读取和写入(分别)的次数。 然而,出于显而易见的原因,执行 10 字节读取与读取整个数据库的计费不同——一个 RCU 最多读取 4KB,更大的读取计为多次读取。 WCU 使用较小的量程 (1KB)。 您应该知道的另一件事是,最终一致性读取计为半个 RCU,事务读取计为两个 RCU。 例如,请参阅此来源

您的下一个问题是,如果您提供(即,使用“已提供”计费模式)25 个 RCU,然后尝试每秒发出 26 个请求,会发生什么情况。 好吧,首先,25 不是每秒的硬性限制,而是平均限制。 如果你在前一秒使用了 0 个 RCU,亚马逊会让你在一秒内使用 50 个 RCU。 关于这种平均发生的细节以及它的周期是多少并没有公开,但众所周知,亚马逊过去曾收到投诉,称人们为 25 个 RCU 付费,但在 1000 秒内没有获得 25,000 次阅读,他们采取了行动根据这些投诉,现在您应该能够长期平均每秒读取 25 次。

现在,回到您的问题,如果您始终尝试仅使用 25 个已配置的 RCU 每秒发送 26 次读取,那么您的一些请求将因ProvisionedThroughputExceededException而失败。 在这种情况下,Amazon 的客户端库将自动返回并重试请求。 因此,如果您使用这样的库,在您看来您的请求会变慢,直到您每秒收到恰好 25 个响应,并且所有请求都会成功。 这也在我上面给出的同一链接中进行了解释。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM