Warm tip: This article is reproduced from serverfault.com, please click

azure-cosmosDB RU吞吐量如何实施

(azure - How is cosmosDB RU throughput enforced)

发布于 2020-07-20 21:03:54

我有一个设置为400 RU / s的cosmosGB gremlin API。如果我必须运行需要800 RU的查询,这是否意味着此查询需要2秒钟的时间来执行?如果我将吞吐量提高到1600 RU / s,此查询是否会在半秒钟内执行?通过使用RU,我看不到查询性能有任何重大变化。

Questioner
Michael Scott
Viewed
0
David Makogon 2020-07-21 09:54:33

正如我在一个不同的,但有些相关答案解释这里,请求单位被分配一个每秒的基础上。如果给定的查询将花费比该一秒钟窗口中可用的请求单位数更多的费用:

  • 查询将被执行
  • 现在,你将因请求单位中的超额而处于“债务”状态
  • 你将受到限制,直到你的“债务”还清为止

假设你的速度为400 RU /秒,而你执行的查询费用为800 RU。它会完成,但随后你将负债约2秒钟(每秒400 RU,乘以2秒钟)。在这一点上,你将不再受限制。

查询执行的速度不取决于分配的RU数量。无论你的速度为1,000 RU /秒或100,000 RU /秒,查询都将在相同的时间量内运行(除了任何限制时间之外,查询都无法最初运行)。因此,除了节流之外,无论RU数如何,你的800 RU查询都将持续运行。