Cosmos 接收器中的 Azure 数据工厂"write throughput budget"设置始终将 RU 使用量限制为 ~10%



我们使用Cosmos数据集作为管道中数据流的汇点。Cosmos数据库被配置为在正常操作期间使用400个RU,但我们在管道运行期间升级了它。升级工作完美无瑕。

正如预期的那样,管道消耗了100%的供应吞吐量。我们希望将这一比例限制在80%左右,这样我们的客户就不会遇到延迟和超时异常。根据文献记载;写入吞吐量预算";假设宇宙水槽中的设置是">一个整数,表示分配给集合的总吞吐量中要分配给此数据流写入操作的RU";。除非我弄错了,否则这意味着你可以设置一个管道允许消耗多少RU的限制。

然而,无论我们对";写入吞吐量预算";,流水线将始终消耗大约10%的总供应吞吐量。我们用各种各样的值进行了测试,结果总是一样的。如果我们不设置值,则会消耗100%的RU,但无论我们将值设置为1500、1000,甚至1200(总共1000(,都会使用约10%。

有人知道这是ADF Cosmos水槽的错误吗,还是我误解了这个设置?有没有其他方法可以限制ADF管道允许使用的Cosmos RU数量?

编辑:这肯定与数据大小有关。当我们使用30万个文档进行测试时,将供应吞吐量设置为10000个RU,将写入吞吐量预算设置为7500会使用总RU的85%左右。使用相同的设置,但使用10000 000个文档,我们可以看到管道运行的RU使用率一致约为10%。

我们问题的解决方案是设置"写入吞吐量预算";其值远高于所提供的吞吐量。管道中使用的数据大小和分区数量肯定会影响您应该使用的设置。作为参考,我们有大约10000 000个文档,每个文档455字节。将吞吐量设置为10 000,将写入吞吐量预算设置为60 000,ADF平均使用了调配吞吐量的约90%。

我建议您在特定情况下反复尝试,不要害怕将写入预算设置为比您认为必要的值高得多的值。

这将取决于分区的数量。检查水槽上有多少分区。

最新更新