DynamoDB 预配的写入容量单位经常意外超出

2024-01-28

我相信我了解写入/读取容量单位、它们的工作原理以及在 DynamoDB 中的计算方式。证明就是我明白this https://linuxacademy.com/howtoguides/posts/show/topic/20310-how-to-calculate-read-and-write-capacity-for-dynamodb文章彻底以及AWS 文档 https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughput.html#ProvisionedThroughput.CapacityUnits.Write。这就是说,当我将项目写入表中时,我遇到了意外的行为。

我有一个具有以下设置的 DynamoDB 表。最值得注意的是 5 个写入/读取容量单位

我将连接到 Raspberry Pi 的传感器的读数放入此表中,我用它来获取和发送python2.7到迪纳摩我的剧本 https://gist.github.com/alejo4373/c5a11a8241337688f46bbf883c72fd79.

这些项目肯定小于 1KB。它们看起来像这样:

{
    "reading_id": "<current_time>",
    "sensor_id": "<SENSORS_IDS[i]>",
    "humidity": "<humidity>",
    "temperature": "<temperature>"
}

我的剧本 https://gist.github.com/alejo4373/c5a11a8241337688f46bbf883c72fd79迭代传感器,从其中读取数据并将传感器的读数/项目提交到 DynamoDBtable.put_item每 5 秒一次。也就是说,如果从传感器读取成功,否则任意等待30s。

现在根据我的计算,我每 5 秒写入 DynamoDB 1KB 项目,这应该没问题,因为我的表设置为 5WCU = (5items*1KB)/Second 写入吞吐量。

所以我的问题是:

1。为什么这个小负载(如果我相信正在发生的话)会超过我的 5 WCU,如此处所示?:

2。我已经使用此设置运行了大约一年,没有进行任何更改(免费套餐于 2018 年 9 月 30 日结束)。这是怎么回事,几个月前甚至在免费套餐结束之前它就开始发生变化,如下所示?:

到目前为止我唯一的怀疑是time.sleep() https://docs.python.org/2.7/library/time.html#time.sleep因为在文档中,它说:

睡眠时间(秒)

将当前线程的执行暂停给定的秒数。该参数可以是浮点数以指示更精确的睡眠时间。实际的挂起时间可能小于请求的时间,因为任何捕获的信号都将在执行该信号的捕获例程后终止 sleep()。此外,由于系统中其他活动的调度,暂停时间可能比请求的时间长任意量。

我对 python 不太熟悉,这让我认为它可能是我的代码中的东西。但这并不能解释我今年早些时候没有遇到这个问题的事实。

Anyone您知道上述问题的答案吗?或者我应该在哪里进一步调查这个问题?

Note:我在这里搜索了谷歌和其他相关问题。似乎没有一个适用于我的情况。

谢谢。


也许您的表分区不均匀。您可能想阅读有关DynamoDB 分区和数据分布 https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.Partitions.html.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

DynamoDB 预配的写入容量单位经常意外超出 的相关文章

随机推荐

  • 如何检测 Angular 中属性的更改

    我有一个带有子组件的组件timeline
  • $null 应该位于相等比较的左侧吗? (-eq 与数组)

    与同事讨论 应该 null是在支票的左边还是右边 有什么例子可以说明为什么这很重要吗 abc null null eq abc True abc eq null True All ok abc 6 7 null 8 9 null eq ab
  • 使用 NPOI 将图像插入 Excel 文件

    我正在使用 C 在 Visual Studio 2010 中编写一个程序 并且正在使用 NPOI 库 我正在尝试将图像插入到 Excel 文件中 我尝试了两种不同的方法 但都不起作用 Method 1 HSSFPatriarch patri
  • 服务重启后 Docker 节点宕机

    我的服务器似乎空间不足 并且某些已部署的 Docker 堆栈出现了一些问题 我花了一段时间才弄清楚 但最终我做到了 并删除了一些容器和图像以释放一些空间 我能够跑service docker restart它起作用了 然而 也存在一些问题
  • 通过java应用程序发送附有excel文件的电子邮件 - 不起作用

    我试图通过Java应用程序发送一封邮件 其中包含excel文件作为附件 而不实际创建该文件 excel文件中的数据来自数据库 我可以发送带有附件的邮件 但文件是文本 制表符分隔 格式 但我希望该文件仅为 Excel 格式 请帮忙 以下是代码
  • 在 Java 调试器中,如何忽略从未通过我的代码的异常

    我目前正在使用 IntelliJ IDEA 进行 Java 开发 但我也对针对其他 IDE 的答案或调试 Java 代码的一般概念感兴趣 因为我在许多 IDE 中都错过了这个功能 所以我不确定在从其他语言转移我的调试习惯时是否错过了工作流程
  • Google Dataflow(Apache Beam)JdbcIO批量插入mysql数据库

    我正在使用 Dataflow SDK 2 X Java API Apache Beam SDK 将数据写入 mysql 我创建了基于管道Apache Beam SDK 文档 https beam apache org documentati
  • 使用 window.open() 的多个窗口

    众所周知 如果您单击嵌入其中的提交按钮onClick windown open 这将打开一个新窗口 其中包含您指定的所有可爱属性 但是 如果继续单击父窗口并再次单击 提交 按钮而不关闭先前的弹出窗口 则同一窗口将被新数据覆盖 现在我需要一种
  • 词汇量和嵌入维度之间的首选比例是多少?

    例如使用时gensim word2vec或用于训练嵌入向量的类似方法我想知道什么是好的比率 或者嵌入维度与词汇量之间是否有首选比率 随着更多数据的出现 这种情况会如何变化 由于我仍在讨论这个主题 因此在训练嵌入向量时如何选择合适的窗口大小
  • 哪些 OpenGL ES 2.0 纹理格式可进行颜色、深度或模板渲染?

    From OpenGL ES 2 0 规范 http www khronos org registry gles specs 2 0 es full spec 2 0 25 pdf第 4 4 5 节 表 4 5 中未列出的格式 包括压缩的内
  • 如何将两个日期列表合并为一系列日期间隔?

    我有开始日期列表和结束日期列表 他们已经排序了 start dates datetime date 2009 11 5 datetime date 2009 11 13 datetime date 2009 11 25 datetime d
  • 实体框架:如何在提交之前检查值是否存在

    我正在使用存储库模式 我有一个国家 地区存储库 我正在使用服务来提交该存储库 我应该在哪里检查该国家 地区是否已存在于数据库中 我会抛出异常吗 有没有一种方法可以在一次数据库调用中做到这一点 如果不存在则检查并插入 如果可以的话 可以在服务
  • 使用区域设置来检测是否使用英制单位

    我正在开发一个应用程序 想要以厘米 cm 或英寸 为单位显示长度 有没有办法从区域设置中选择正确的单位 无论如何 我还将输入一个选项 以便用户可以覆盖区域设置 美国 利比里亚和缅甸应使用英制单位 而世界其他国家应使用正常单位 一种方法是将此
  • 将 CSV 转换为 RDF,其中一列是一组值

    我想将 CSV 转换为 RDF 事实上 该 CSV 的一列是一组用分隔符 在我的例子中为空格符 连接的值 以下是 CSV 示例 带标题 col1 col2 col3 A B C D John M X Y Z Jack 我希望转换过程创建一个
  • 使用T4模板基于POCO生成多个类

    当我向数据库添加表时 我正在寻找一种提高工作效率的方法 一般来说 当我添加新表时 我必须执行以下步骤 将表添加到数据库 简单 创建相应的 EF Code First 类 我不使用数据库迁移 创建一个与 2 中创建的 EF 类匹配的 POCO
  • 需要帮助了解 Firebase Storage CDN

    我正在构建一个有声读物应用程序 并将音频文件上传到 Firebase 存储上 我的问题是我在旧金山和多伦多经历了不同的表现 我的印象是 Firebase Storage 具有内置 CDN 如果是这样 我需要在某处启用它吗 如果没有 如何将
  • Breeze:EFContextProvider/Breeze 控制器和服务层

    使用 Breeze 时 我想知道如何将其与处理电子邮件通知 审核日志 业务验证 即客户必须存在 等事务的服务层集成 例如 假设有以下场景 public class SalesAppRepository private readonly EF
  • 单个 APN 是一个组织中多个应用程序的关键

    我的组织维护多个应用程序 并且对于如何使用 APN 密钥存在困惑 我们正在使用 firebase 发送推送通知 So far we have two apple keys for two different applications But
  • 到 .accdb 文件的 ODBC 连接

    我正在尝试从我一直在处理的统一项目中访问 Microsoft Access 数据库文件 但它不断抛出异常 因为它无法找到该文件并且没有选择标准河流 代码 using UnityEngine using UnityEngine UI usin
  • DynamoDB 预配的写入容量单位经常意外超出

    我相信我了解写入 读取容量单位 它们的工作原理以及在 DynamoDB 中的计算方式 证明就是我明白this https linuxacademy com howtoguides posts show topic 20310 how to