为什么Cosmos DB尽管未超出我的手动设置的吞吐量,却为部分请求返回429

菲利普斯

我的Cosmos DB在多个容器之间使用共享吞吐量。我已将Cosmos DB手动扩展到70,000 RU / s,目前正在运行大量请求。

天蓝色地看,我可以看到我的部分请求被限制了(返回429)。要给出大约25,000个请求返回200和5k请求返回429的数字的概念。当我遵循azure门户中的警告说我的集合超出了预配置的吞吐量时,它显示平均吞吐量为6.78k RU / s。

我不明白为什么当我的平均吞吐量仅为6,780 RU / s时,当我有70,000 RU / s时,我的请求受到限制。

没有其他容器正在读取或写入,所有这些请求仅针对一个容器发出。由于所有这些请求都将运行存储过程,因此它们都提供了分区键。

马克·布朗

最可能的原因是您有一个热分区,该分区在其他分区之前就已达到其分配的吞吐量。

对于水平可伸缩数据库,吞吐量是在物理分区(计算机)之间分配的,并且使用分区键对数据进行分区,该分区键基本上充当将其路由到要存储的特定计算机的地址。

假设我有一个包含三个分区1、2、3和30K RU / s的集合。其中的每一个将获得分配给它的10K RU / s。如果然后运行对分区2进行大量操作并消耗掉全部10K的操作,即使我不触摸分区1或3,也会受到速率限制(429)。

为避免这种情况,您需要选择一个分区键,在写操作时,这两个键都应尽可能均匀地分布数据,并且理想情况下也可以用于回答一个或少量(有界)分区中的查询,从而避免“散开”查询查询必须命中每个分区。

现在,对于仅驻留在单个物理分区上的小型集合,这无关紧要,因为您的数据全部都在单个物理分区上。但是,随着集合的增大,这会导致出现问题,从而导致数据库无法完全扩展。

你可以在这里了解更多

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么零结果Cosmos DB查询如此昂贵?

来自分类Dev

为什么我的TCP吞吐量比UDP吞吐量大得多?

来自分类Dev

为什么当我调用CreateItemAsync时,Cosmos DB给我一个“输入名称'{'无效”的错误

来自分类Dev

为什么我的Azure Cosmos DB SQL API容器拒绝具有相同分区键值的多个项目?

来自分类Dev

有没有办法将Azure Cosmos DB吞吐量设置为低于400 RU / s?

来自分类Dev

azure函数-当eventhub中有新事件触发时,将其写入cosmos db-不起作用,为什么?

来自分类Dev

为什么我的动力发电机吞吐量如此之高?

来自分类Dev

为什么通过SSH进行rsync可以给我十倍的SCP吞吐量?

来自分类Dev

为什么容器网络吞吐量低

来自分类Dev

为什么使用netperf会有不同的吞吐量?

来自分类Dev

为什么手动设置时间与当前时间不同

来自分类Dev

为什么更新替代设置为“手动”模式?

来自分类Dev

为什么手动设置时间与当前时间不同

来自分类Dev

为什么吞吐量较低的最终系统决定吞吐量的速度?

来自分类Dev

为什么我应该使用$ cacheFactory而不是手动获取/设置数据?

来自分类Dev

为什么我的SQL Union查询返回的值与手动SELECT WHERE查询不同?

来自分类Dev

为什么我必须手动终止程序?

来自分类Dev

在 C# 中读取 Cosmos DB 的当前集合吞吐量

来自分类Dev

CUDA中的“请求的全局负载吞吐量”和“全局负载吞吐量”之间有什么区别

来自分类Dev

在Angular中手动将控件设置为原始时,为什么我的表单被标记为脏?

来自分类Dev

在 Cosmos DB 集合中手动创建文档

来自分类Dev

为什么numpy的累积量比手动C ++的循环快得多?

来自分类Dev

Cosmos DB配置的吞吐量计算

来自分类Dev

手动更改值时,为什么在NumericUpDown控件上未触发ValueChanged事件?

来自分类Dev

为什么我的Systemd命令失败,但是我可以手动执行它?

来自分类Dev

添加节点时,为什么卡桑德拉吞吐量没有提高?

来自分类Dev

为什么手动挂载设置了不同的文件所有权?

来自分类Dev

为什么手动设置bash提示(PS1)会导致root使用$而不是#?

来自分类Dev

为什么在Windows 10中将“ Windows Time”服务始终设置为“手动”?

Related 相关文章

  1. 1

    为什么零结果Cosmos DB查询如此昂贵?

  2. 2

    为什么我的TCP吞吐量比UDP吞吐量大得多?

  3. 3

    为什么当我调用CreateItemAsync时,Cosmos DB给我一个“输入名称'{'无效”的错误

  4. 4

    为什么我的Azure Cosmos DB SQL API容器拒绝具有相同分区键值的多个项目?

  5. 5

    有没有办法将Azure Cosmos DB吞吐量设置为低于400 RU / s?

  6. 6

    azure函数-当eventhub中有新事件触发时,将其写入cosmos db-不起作用,为什么?

  7. 7

    为什么我的动力发电机吞吐量如此之高?

  8. 8

    为什么通过SSH进行rsync可以给我十倍的SCP吞吐量?

  9. 9

    为什么容器网络吞吐量低

  10. 10

    为什么使用netperf会有不同的吞吐量?

  11. 11

    为什么手动设置时间与当前时间不同

  12. 12

    为什么更新替代设置为“手动”模式?

  13. 13

    为什么手动设置时间与当前时间不同

  14. 14

    为什么吞吐量较低的最终系统决定吞吐量的速度?

  15. 15

    为什么我应该使用$ cacheFactory而不是手动获取/设置数据?

  16. 16

    为什么我的SQL Union查询返回的值与手动SELECT WHERE查询不同?

  17. 17

    为什么我必须手动终止程序?

  18. 18

    在 C# 中读取 Cosmos DB 的当前集合吞吐量

  19. 19

    CUDA中的“请求的全局负载吞吐量”和“全局负载吞吐量”之间有什么区别

  20. 20

    在Angular中手动将控件设置为原始时,为什么我的表单被标记为脏?

  21. 21

    在 Cosmos DB 集合中手动创建文档

  22. 22

    为什么numpy的累积量比手动C ++的循环快得多?

  23. 23

    Cosmos DB配置的吞吐量计算

  24. 24

    手动更改值时,为什么在NumericUpDown控件上未触发ValueChanged事件?

  25. 25

    为什么我的Systemd命令失败,但是我可以手动执行它?

  26. 26

    添加节点时,为什么卡桑德拉吞吐量没有提高?

  27. 27

    为什么手动挂载设置了不同的文件所有权?

  28. 28

    为什么手动设置bash提示(PS1)会导致root使用$而不是#?

  29. 29

    为什么在Windows 10中将“ Windows Time”服务始终设置为“手动”?

热门标签

归档