You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MongoDB API版CosmosDB数据库级吞吐量设置/查看及集合创建失败排障

Azure Cosmos DB MongoDB API 数据库级吞吐量配置与集合创建失败问题

问题背景

使用MongoDB API版Azure Cosmos DB存储多台IoT设备的时序数据,每台设备对应一个专属集合,数据库配置为数据库级吞吐量。近期Azure Function创建新集合失败,报错如下:

Your account is currently configured with a total throughput limit of 3200 RU/s.
This operation failed because it would have increased the total throughput to 3600 RU/s.
See https://aka.ms/cosmos-tp-limit for more information.

当前数据库已有25个集合,手动创建新集合也失败,关闭Azure Function后问题依旧。


问题解答

1. 查看/设置数据库级吞吐量

Azure门户操作

  • 登录Azure门户,定位到目标Cosmos DB账户
  • 进入数据资源管理器,找到目标数据库
  • 点击数据库名称右侧的缩放(或“吞吐量”选项),即可查看当前数据库级吞吐量的配置值;若需调整,直接修改RU/s数值后保存即可
  • 若数据库尚未配置共享吞吐量,可在此页面勾选“数据库级吞吐量”并设置对应RU/s

Azure CLI操作

  • 查看数据库级吞吐量:
    az cosmosdb mongodb database throughput show --account-name <你的CosmosDB账户名> --name <数据库名> --resource-group <资源组名>
    
  • 设置/更新数据库级吞吐量:
    az cosmosdb mongodb database throughput update --account-name <你的CosmosDB账户名> --name <数据库名> --resource-group <资源组名> --throughput <目标RU/s数值>
    

2. 配置数据库级吞吐量后仍无法创建集合的原因及解决方法

核心原因分析

报错显示账户总吞吐量限制为3200 RU/s,新增集合会触发总吞吐量到3600 RU/s,说明系统判定新集合会额外占用400 RU/s(默认专属吞吐量),而非继承数据库的共享吞吐量。常见诱因包括:

  • 代码未指定继承数据库吞吐量:Azure Function创建集合时,未明确配置使用数据库的共享吞吐量,默认尝试创建带400 RU/s专属吞吐量的集合,导致账户总吞吐量超出限制
  • 存在隐藏的专属吞吐量集合:部分现有集合可能被单独配置了专属吞吐量,这些吞吐量会被计入账户总配额,叠加数据库级吞吐量后接近/达到账户上限
  • 账户级吞吐量上限限制:Cosmos DB账户存在总吞吐量上限,即使数据库使用共享吞吐量,所有资源的吞吐量总和不能超过该上限

解决步骤

  1. 检查集合吞吐量配置:在数据资源管理器中逐个检查现有集合的吞吐量设置,将所有使用专属吞吐量的集合改为继承数据库吞吐量
  2. 修改创建集合的代码:在Azure Function的集合创建逻辑中,明确指定继承数据库的共享吞吐量(MongoDB API示例:创建集合时设置throughput: null,或使用对应SDK参数禁用专属吞吐量)
  3. 调整账户级吞吐量上限:若确实需要更高总吞吐量,可在Cosmos DB账户的缩放页面,提升账户的总吞吐量限制

内容的提问来源于stack exchange,提问作者pstark

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 11:35:56