gpt4 book ai didi

throughput - 即使在高吞吐量的情况下,DynamoDB batch_write 也会受到限制

转载 作者:行者123 更新时间:2023-12-04 18:06:03 25 4
gpt4 key购买 nike

目前我遇到了 DynamoDB 写入吞吐量问题。我将写入吞吐量设置为 10000,并且我有 6 个正在运行 batch_write 的进程(要存储的条目数:5 亿+)。平均消耗的写入吞吐量非常低(大约 500),但我仍然限制了写入,平均受限请求数为 800。(全部以 5 分钟为单位)

我想知道为什么会发生这种情况以及如何避免这种情况。

谢谢!

最佳答案

它可能来自表分区:

如解释here ,即使您为表(或全局二级索引)配置了一定的写入容量,实际的请求吞吐量限制也可能低得多。如 AWS here 所述, DynamoDB 自动在后台对您的表进行分区,并将它们的配置容量平均分配给这些较小的分区。

当某些项目被极其频繁地请求时,它们具有“热键”,从而造成极不均衡的访问模式。当表变大时,它们会被高度分区。例如,如果您为特定表配置了每秒 1000 次写入,并且该表实际上被拆分为 10 个分区,那么即使其他分区分配的吞吐量未被消耗,写入最多也将被限制为每秒 100 次请求很多。

这很棘手,因为 AWS 控制台不会公开 DynamoDB 表中的分区数量(即使分区有详细记录)。为了预测热键的限制,您可以使用 AWS 文档中描述的公式来估计您可以为一个表期望的分区数。然后,您可以通过将预置的总写入容量除以预期的分区数来计算每个分区的吞吐量限制。

希望对您有所帮助:)

关于throughput - 即使在高吞吐量的情况下,DynamoDB batch_write 也会受到限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26637999/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com