gpt4 book ai didi

Azure DocumentDB 限制请求

转载 作者:行者123 更新时间:2023-12-02 07:37:14 26 4
gpt4 key购买 nike

我在 azure 上有一个文档数据库。当我归档用户记录及其所有数据时,会发生一个特别繁重的查询。

我使用的是 S1 计划,并且会收到一个异常,表明我已达到 RU/s 的限制。 S1计划有250个。

我决定切换到标准计划,您可以设置 RU 并支付费用。

我将其设置为 500 RU/s。

我做了同样的查询,然后回去看监控图。

当我做这个最新的查询测试时,它说我做了 226 个请求,其中 10 个被限制。

这是为什么呢?我将其设置为 500 RU/s。顺便说一下,查询失败了。

最佳答案

首先,请求数!=请求单元数,因此您的 226 个请求可能会导致在一秒内需要超过 500 个请求单元。

DocumentDb API 会告诉您每个请求需要多少 RU,因此您可以检查客户端以找出哪个请求导致了问题。根据我的经验,即使是简单的 by-id 请求也通常至少需要几个 RU。您如何看待该成本取决于您使用的客户端 SDK。在我的代码中,我添加了一些内容来自动记录所有花费超过 10 RU 的请求,以便我知道并可以采取行动。

此外,门户中的监控工具也相当不足,我知道团队正在努力解决这个问题;您只能看到每五分钟间隔的 RU 总数,但您可能尝试在一秒钟内使用 600 个 RU,但在门户中实际上看不到这一点。

就您的情况而言,您可能有一个仅花费超过 500 RU 的大型查询 - 日志记录会告诉您。在这种情况下,请查看生成的 SQL 以了解原因,甚至可以将其发布到此处。

或者,它可能是在一个小时间窗口内发出的大量小请求的累积效应。如果您正在响应一个用户操作执行 226 个请求(我不知道您是否是这样),那么您可能需要重新考虑您的设计:)

最后,您可以重试失败的请求。我不确定其他 SDK,但 .Net SDK 在放弃之前会自动重试请求 9 次(这可能是 229 个请求到达服务器的另一种解释)。如果您选择的 SDK 不重试,您可以轻松地自行重试;服务器将返回一个特定的状态代码(我认为是 429,但不太记得了)以及重试之前等待多长时间的指令。

请检查查询并更新您的问题,以便我们提供进一步帮助。

关于Azure DocumentDB 限制请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38603638/

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