Atlas 限制您可以创建的每种组件的数量以及允许连接到集群的数量。对于集群,允许的连接数量取决于集群层。下表概述了组件和连接限制。
重要
如果其中任何限制对您的组织造成问题,请联系 Atlas 支持部门。
集群限制
连接限制和集群层
Atlas 会根据集群层和类设置 limits for concurrent incoming connections。Atlas 连接限制适用于每个节点。对于分片集群 ,Atlas 连接限制适用于每个 mongos 路由器。Mongos 路由器的数量等于所有分片中副本集节点的数量。
您的读取偏好也会增大 Atlas 可为给定查询分配的连接总数。
例子
您的 M10集群有三个节点,每个节点的连接限制为 1500。Atlas为每个节点保留 10 个连接。如果您设立读取偏好(read preference)设置为 从节点 , Atlas可以从两个从节点(secondary node from replica set)节点读取数据,以获得组合的 从节点(secondary node from replica2980 set)连接限制。
仅当通过受支持版本上的集群的专用链接进行连接时,才会对Amazon Web Services实施集群连接限制:
8.1 和 v8.1.0+
8.0 和 v8.0.10+
7.0 和 v7.0.22+
增加连接限制
注意
Atlas根据内存和计算使用量而不是连接数进行扩展。但是,增加的活动连接可能会增加负载,如果其他解决方案不可行,则可能需要扩展集群。
如果您已接近或已达到Atlas 集群可处理的最大连接数,您有多个选项可用于重新分配连接或提高限制:
集群层 | 每个节点的最大连接数 |
|---|---|
| 1500 |
| 3000 |
| 3000 |
| 6000 |
| 16000 |
| 32000 |
| 96000 |
| 96000 |
| 128000 |
| 128000 |
集群层 | 每个节点的最大连接数 |
|---|---|
| 4000 |
| 16000 |
| 32000 |
| 64000 |
| 96000 |
| 128000 |
| 128000 |
| 128000 |
| 128000 |
集群层 | 每个节点的最大连接数 |
|---|---|
| 1500 |
| 3000 |
| 3000 |
| 6000 |
| 16000 |
| 32000 |
| 64000 |
| 96000 |
| 128000 |
| 128000 |
注意
Atlas 为每个 Atlas 集群保留少量连接,用于支持 Atlas 服务。要了解有关 Atlas 保留连接的更多信息,请联系 Atlas 支持部门。
连接速率限制
Atlas应用连接速率限制来保护集群可用性并确保最佳性能。这些限制限制了集群中每个节点每秒处理的新连接数。
集群层 | 每个节点每秒的最大新连接数 |
|---|---|
| 20 |
| 20 |
注意
连接速率限制仅应用于 M10 和 M20集群层。其他集群层没有连接速率限制。连接速率限制不包括来自Atlas内部服务的连接。
如果超过连接速率限制,则会对新的连接尝试进行排队;如果过载持续一段时间,则会删除某些连接。此功能可防止这些集群层上的连接过载,从而帮助保持集群可用性。
集合和索引限制
虽然对单个集群中的集合数量没有硬性限制, 但如果集群为大量集合和索引提供服务,其性能可能会下降。 集合越大,对性能的影响越大。
Atlas 集群层建议的集合和索引的最大合并数量如下:
集群层 | 建议的最大值 |
|---|---|
M10 | 5,000 个集合和索引 |
M20 / M30 | 10,000 个集合和索引 |
M40+ | 100,000 个集合和索引 |
如果超过建议的最大集合和索引数,数据库操作的运行运行可能会减慢。检查点需要更长的时间才能完成,这会降低操作速度。在某些情况下,如果您的使用量超过系统的 ulimit 设置,则操作可能会停止,该设置对您可以使用的系统资源数量设立了限制。
提示
要学习;了解有关 ulimit 设置的更多信息,请参阅 MongoDB Server 手册中的 自管理部署的 UNIX ulimit 设置。
超过建议的最大资源数量对性能的影响取决于集合的使用情况。如果一致使用大多数现有集合,则更有可能影响性能。
增加集合和索引限制
如果需要增加Atlas 集群中集合或索引的数量,请考虑升级集群层。
组织和项目限制
组件 | Limit |
|---|---|
每个 Atlas 项目的数据库用户 | 100 |
每个 Atlas 项目的 Atlas 用户 | 500 |
每个 Atlas 组织的 Atlas 用户 | 500 |
每个 Atlas 组织的 API 密钥 | 500 |
每个 Atlas 项目的访问列表条目 | 200 |
每个 Atlas 团队的用户 | 250 |
每个 Atlas 项目的团队 | 100 |
每个 Atlas 组织的团队 | 250 |
每个 Atlas 用户的团队 | 100 |
每个 Atlas 用户的组织 | 250 |
每个 Atlas 付款组织的关联组织 | 50 |
每个 Atlas 项目的集群 | 25 |
每个 Atlas 用户的项目 | 250 |
每个 Atlas 组织的项目 | 250 |
每个 Atlas 项目的自定义 MongoDB 角色 | 100 |
为每个数据库用户分配的角色数 | 100 |
25 | |
每个 Atlas 项目的网络对等连接总数 | |
每个 Atlas 项目的待处理网络对等互连 | 25 |
每个地区的 AWS PrivateLink 可寻址目标 | 50 |
每个地区的 Azure Private Link 可寻址目标 | 150 |
Google Cloud GCP 私有服务连接每个区域的可寻址目标 | 50 |
40 |
您只能为每个项目部署一个 M0。但是,如果您与 MongoDB 签订了销售合同,则可以为每个项目部署更多 M0 集群。要了解更多信息,请联系 MongoDB 销售代表。
标签限制
Atlas 限制组件特定标签的长度。
组件 | 字符限制 | 正则表达式模式 |
|---|---|---|
集群名称 | 64 [1] |
|
项目名称 | 64 |
|
组织名称 | 64 |
|
API 密钥说明 | 250 |
| [1] | 如果启用了仅对等互连模式,集群名称字符数限制为 23。 |
| [2] | Atlas 使用集群名称的前 23 个字符。这些字符在包含的项目中必须是唯一的。少于 23 个字符的集群名称不能以连字符 (-) 结尾。超过 23 个字符的集群名称不能将连字符作为第 23 个字符。 |
| [3] | (1、2)组织和项目名称可以包含任何 Unicode 字母或数字以及以下标点符号:-_.(),:&@+'。 |
数据库用户权限限制
要了解有关不支持的命令的更多信息,请参阅 M 0 和 Atlas Flex 集群中不支持的命令和付费集群。
多云部署限制
多云部署具有不同的限制。要了解更多信息,请参阅多云部署限制。