如何强制执行 cosmosDB RU 吞吐量

Mic*_*ott 1 azure azure-cosmosdb azure-cosmosdb-gremlinapi

我有一个设置为 400 RU/s 的 cosmosGB gremlin API。如果我必须运行需要 800 个 RU 的查询,是否意味着此查询需要 2 秒才能执行?如果我将吞吐量增加到 1600 RU/s,这个查询会在半秒​​内执行吗?通过使用 RU,我没有看到查询性能有任何显着变化。

Dav*_*gon 5

正如我在此处不同但有些相关的答案中所解释的,请求单位是按秒分配的。如果给定查询的成本超过该一秒窗口中可用的请求单位数:

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

假设您有 400 RU/秒,并且您执行了一个花费 800 RU 的查询。它会完成,但随后您将欠债约 2 秒(每秒 400 RU,乘以 2 秒)。此时,您将不再受到限制。

查询执行的速度与分配的 RU 数量无关。无论您有 1,000 RU/秒还是 100,000 RU/秒,查询都会在相同的时间内运行(除了任何阻止查询最初运行的节流时间)。因此,除了节流之外,您的 800 RU 查询将始终如一地运行,无论 RU 计数如何。