你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure Cosmos DB 中的突发容量

适用对象: NoSQL MongoDB Cassandra Gremlin

Azure Cosmos DB 突发容量可利用数据库或容器的空闲吞吐量容量来处理流量峰值。 使用突发容量时,每个物理分区最多可以累积 5 分钟的空闲容量,该容量的最大消耗速率可达 3000 RU/s。 使用突发容量时,原本速率受制的请求现在可以用于处于可用状态的突发容量。

突发容量仅适用于使用预配吞吐量(手动和自动缩放)的 Azure Cosmos DB 帐户,不适用于无服务器容器。 该功能在 Azure Cosmos DB 帐户级别进行配置,并自动应用于账户中物理分区预配吞吐量低于 3000 RU/s 的所有数据库和容器。 每个物理分区大于或等于 3000 RU/s 的资源将无法受益于突发容量或无法使用突发容量。

突发容量的工作原理

注意

突发容量的当前实现可能会在未来发生变化。 突发容量的使用量受系统资源可用性的影响,无法保证。 Azure Cosmos DB 还可以将突发容量用于后台维护任务。 如果工作负载需要超出已预配额的持续吞吐量,则建议相应地预配 RU/s,而不依赖于突发容量。 在启用突增容量之前,还建议评估你的分区布局是否可以合并,从而在不依赖突增容量的情况下为每个物理分区永久提供更多 RU/秒。

以某物理分区为例,它的预配吞吐量为 100 RU/s 且空闲为 5 分钟。 使用突发容量时,它最多可以累积 100 RU/s * 300 秒 = 30,000 RU 的突发容量。 该容量可以以 3000 RU/s 的最大速率消耗,因此如果请求量激增,分区可以突发到 3000 RU/s,并持续 30,000 RU / 3000 RU/s = 10 秒。 如果没有突发容量,任何消耗速率超过预配的 100 RU/s 的请求都会受到速率限制 (429)。

10 秒过后,突发容量用完。 如果工作负载继续超过预配的 100 RU/s,则任何消耗速率超过预配的 100 RU/s 的请求现在都将受到速率限制 (429)。 物理分区在任意时间点可以累积的最大突发容量等于 300 秒乘以物理分区的预配 RU/s。

入门

要开始使用突发容量,请导航到 Azure Cosmos DB 帐户中的“功能”页。 选择并启用“突发容量”功能。

启用该功能后,需要经过 15-20 分钟才会生效。

Screenshot of Burst Capacity feature in the Features page in an Azure Cosmos DB account.

要求

若要启用突发容量,Azure Cosmos DB 帐户必须满足以下所有条件:

  • Azure Cosmos DB 帐户使用预配的吞吐量(手动或自动缩放)。 突发容量不适用于无服务器帐户。
  • Azure Cosmos DB 帐户使用 API for NoSQL、API for Cassandra、API for Gremlin、API for MongoDB 或 API for Table。

后续步骤