Frequently asked questions on burst capacity in Azure Cosmos DB

APPLIES TO: NoSQL MongoDB Cassandra Gremlin Table

Azure Cosmos DB burst capacity allows you to take advantage of your database or container's idle throughput capacity to handle spikes of traffic. This article answers commonly asked questions about Azure Cosmos DB burst capacity.

How much does it cost to use burst capacity?

There's no charge to use burst capacity.

How does burst capacity work with autoscale?

Autoscale and burst capacity are compatible. Autoscale gives you a guaranteed instant 10 times scale range. Burst capacity allows you to take advantage of unused, idle capacity to handle temporary spikes, potentially beyond your autoscale max RU/s. For example, suppose we have an autoscale container with one physical partition that scales between 100 - 1000 RU/s. Without burst capacity, any requests that consume beyond 1000 RU/s would be rate limited. With burst capacity however, the partition can accumulate a maximum of 1000 RU/s of idle capacity each second. Burst capacity allows the partition to burst at a maximum rate of 3000 RU/s for a limited amount of time.

Accumulation of burst is based on the maximum autoscale RU/s.

The autoscale maximum RU/s per physical partition must be less than 3000 RU/s for burst capacity to be applicable.

When burst capacity is used with autoscale, autoscale will use up to the maximum RU/s before using burst capacity. You may see autoscale scale up to max RU/s during spikes of traffic.

What resources can use burst capacity?

When burst capacity is enabled on your account, any shared throughput databases or containers with dedicated throughput that have less than 3000 RU/s per physical partition can use burst capacity. The resource can use either manual or autoscale throughput.

How can I monitor burst capacity?

Azure Monitor metrics, built-in to Azure Cosmos DB, can filter by the dimension CapacityType on the TotalRequests and TotalRequestUnits metrics. Requests served with burst capacity will have CapacityType equal to BurstCapacity.

How can I see which resources have less than 3000 RU/s per physical partition?

You can use the new Azure Monitor metric PhysicalPartitionThroughput and split by the dimension PhysicalPartitionId to see how many RU/s you have per physical partition.

Does burst capacity consume Azure Cosmos DB reserved capacity?

No.

How can I enable burst capacity on an account programatically?

You can use the Azure Cosmos DB Resource Provider REST API version 2023-09-15 or later or a Resource Manager template with API version 2023-03-01-preview to set the property enableBurstCapacity to true. You can also use the Azure CLI or PowerShell.

// Add Azure Cosmos DB extension 1.13.0 or higher
Install-Module -Name Az.CosmosDB -RequiredVersion 1.13.0

// Enable burst capacity on an account
$parameters = @{
ResourceGroupName = "<resource-group-name>"
Name = "<cosmos-account-name>"
EnableBurstCapacity = $true
}
Update-AzCosmosDBAccount @parameters

Next steps