你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
限制 Azure Cosmos DB 帐户上预配的总吞吐量
适用对象: NoSQL MongoDB Cassandra Gremlin 表
在预配的吞吐量模式下使用 Azure Cosmos DB 帐户时,大部分成本通常来自于你在帐户中预配的吞吐量。 具体而言,这些成本直接受到以下因素的影响:
- 具有共享吞吐量的数据库的数目。
- 具有专用吞吐量的容器的数目。
- 每个资源上预配的吞吐量。
- 帐户可用的区域的数目。
跟踪已在帐户中预配的总吞吐量可能会很困难,尤其是在开始使用 Azure Cosmos DB 时。 这可能会导致意外的费用,因为此数量最终超出了你不希望超出的特定预算。 为了帮助你更好地控制成本,Azure Cosmos DB 允许你限制帐户中预配的总吞吐量。
注意
此功能在无服务器帐户上不可用。
将限制设置为帐户的总吞吐量后,会阻止导致超出此限制的任何以下操作,并且这些操作将显式失败:
- 创建具有共享吞吐量的新数据库。
- 创建具有专用吞吐量的容器。
- 增加在标准(手动)模式下配置的资源的预配吞吐量。
- 增加在自动缩放模式下配置的资源的最大预配吞吐量。
- 将新区域添加到帐户。
注意
对于在自动缩放模式下配置的资源,它是在资源上配置的最大吞吐量,可计入帐户的总吞吐量。
重要
在你的帐户上启用总吞吐量限制后,必须在创建新容器时传递显式吞吐量值。 如果尝试创建没有显式吞吐量的容器,则当前会遇到错误。
从 Azure 门户设置总吞吐量限制
新帐户
从门户创建新的 Azure Cosmos DB 帐户时,可以选择限制帐户的总吞吐量:
选中此选项会限制帐户的总吞吐量,对于免费层级帐户,限制为 1,000 RU/秒。对于常规非免费层级帐户,则为 4,000 RU 秒。 你可以在创建帐户后更改此值。
现有帐户
在 Azure 门户中,导航到 Azure Cosmos DB 帐户,然后在左侧菜单中选择“成本管理”。
此部分显示在帐户中预配的总吞吐量的摘要,并允许你配置总吞吐量限制。 有以下三个可用选项:
- 将帐户的总预配吞吐量限制为免费层折扣中包含的量。 此选项仅适用于免费层帐户,并将帐户的总吞吐量限制为 1,000 RU/s。 选中此选项时,可以确保不会对预配的吞吐量产生任何费用。
- 允许将帐户的总吞吐量预配为自定义量。 此选项允许你输入不希望超过的预配总吞吐量。 对应于输入的每月成本估计值都显示为参考。
注意
此自定义限制不能低于当前在帐户中预配的总吞吐量。
- 无限制,允许将帐户的总吞吐量预配为任何量。 此选项将禁用限制。
以编程方式设置总吞吐量限制
使用 Azure 资源管理器模板
使用 Azure 资源管理器创建或更新 Azure Cosmos DB 帐户时,可以通过设置 properties.capacity.totalThroughputLimit
属性来配置总吞吐量限制:
{
"location": "West US",
"kind": "DocumentDB",
"properties": {
"locations": [
{
"locationName": "West US",
"failoverPriority": 0,
"isZoneRedundant": false
}
],
"databaseAccountOfferType": "Standard",
"capacity": {
"totalThroughputLimit": 2000
}
}
}
将此属性设置为 -1
以禁用限制。
常见问题
在哪些情况下,预配的总吞吐量可能会超出限制?
Azure Cosmos DB 强制存储的数据最小吞吐量为每 GB 1 RU/秒。 如果在吞吐量已达到最小值时引入数据,则资源上预配的吞吐量将自动增加,以满足每 GB 1 RU/秒的要求。 在这种情况下,仅在此情况下,预配的总吞吐量才可能会超出设置的限制。