> For the complete MongoDB documentation index, see www.mongodb.com/docs/llms.txt

<!--
Tab options on this page. Append to the .md URL to filter:
  ?tabs=<id,...>   select specific tabs (e.g. ?tabs=nodejs,shell)
  ?allTabs=true    include every tab
  (no param)       default: one tab per tabset

Available tabs:
  other tabs: aws-general-class, aws-low-cpu-class, azure-gcp-general-class, azure-gcp-low-cpu-class, general, low-cpu, nvme
-->

# Atlas Service Limits

Atlas limits how many of each kind of component you can create, and the number of connections allowed to clusters. For clusters, the number of connections allowed is based on cluster tier. The following tables outline component and connection limits.

**Important:**

If any of these limits present a problem for your organization, contact [Atlas support.](https://www.mongodb.com/docs/atlas/support.md#std-label-atlas-support)

## Cluster Limits

| Component | Limit |
| --- | --- |
| [Shards](https://www.mongodb.com/docs/manual/sharding/) in [Multi-Region Clusters](https://www.mongodb.com/docs/atlas/cluster-config/multi-cloud-distribution.md#std-label-create-cluster-multi-region) | 30 |
| [Shards](https://www.mongodb.com/docs/manual/sharding/) in Single-region clusters | No hard limit, but contact [MongoDB Support](https://www.mongodb.com/docs/atlas/support.md#std-label-request-support) for more than 80 shards. |
| [Cross-region network permissions](https://www.mongodb.com/docs/atlas/reference/faq/networking.md#std-label-faq-cross-region) for a Multi-Region Cluster | 100 The total number of nodes between any two regions in a project must not exceed 100. You can't create a multi-region cluster if the project already has clusters with 100 or more cross-region nodes. |
| [Electable Nodes](https://www.mongodb.com/docs/manual/core/replica-set-elections.md#std-label-replica-set-elections) per Replica Set or Shard | 7 An Atlas Infinite cluster has exactly two electable nodes, and no more than seven nodes in total. To learn more, see [Replication and Failover.](https://www.mongodb.com/docs/atlas/infinite/atlas-infinite-architecture.md#std-label-atlas-infinite-replication) |
| [Config Server](https://www.mongodb.com/docs/manual/core/sharded-cluster-config-servers/) Tier (minimum and maximum) | `M30` |

## Connection Limits and Cluster Tier

Atlas sets the [`limits for concurrent incoming connections`](https://www.mongodb.com/docs/manual/reference/configuration-options.md#mongodb-setting-net.maxIncomingConnections) based on the tier and [class](https://www.mongodb.com/docs/atlas/customize-storage.md#std-label-storage-class-ui) of your cluster. The `net.maxIncomingConnections` setting caps the total number of incoming connections that a node holds open at one time.

Atlas connection limits apply per node. For [sharded clusters](https://www.mongodb.com/docs/manual/sharding/), Atlas connection limits apply per [mongos](https://www.mongodb.com/docs/manual/core/sharded-cluster-query-router/) router. The number of [mongos](https://www.mongodb.com/docs/manual/core/sharded-cluster-query-router/) routers is equal to the number of replica set nodes across all shards.

The following example describes an Atlas Core cluster. An Atlas Infinite cluster has two electable nodes, so the number of nodes that can serve reads depends on the read-only and analytics nodes that you add.

Atlas Infinite clusters use `M10` through `M60` cluster tiers, so the limits for larger tiers don't apply to them.

**Example:**

Your `M10` Atlas Core cluster has three nodes with a 1500 connection limit per node. Atlas reserves 10 connections per node. If you set your [read preference](https://www.mongodb.com/docs/manual/core/read-preference/) to [secondary](https://www.mongodb.com/docs/manual/core/read-preference/#mongodb-readmode-secondary), Atlas can read from the two secondary nodes for a combined 2980 connection limit.

For example, if you have a three-node `M10` cluster with a 1500 connection limit per node, Atlas reserves 10 connections per node. If you set your [read preference](https://www.mongodb.com/docs/manual/core/read-preference/) to [secondary](https://www.mongodb.com/docs/manual/core/read-preference/#mongodb-readmode-secondary), Atlas can read from the two secondary nodes for a combined 2980 connection limit.

The cluster connection limits are enforced for AWS only when connecting over private link for clusters on the supported versions:

- 8.1 and v8.1.0+

- 8.0 and v8.0.10+

- 7.0 and v7.0.22+

**Note:**

Atlas reserves a small number of connections to each Atlas cluster for supporting Atlas services. To learn more about Atlas reserved connections, contact Atlas [support.](https://www.mongodb.com/docs/atlas/support.md#std-label-atlas-support)

Choose your cloud provider to view the connection limits for each cluster tier and [class:](https://www.mongodb.com/docs/atlas/customize-storage.md#std-label-storage-class-ui)

### General Class

| Cluster Tier | Maximum Connections Per Node |
| --- | --- |
| `M10` | 1500 |
| `M20` | 3000 |
| `M30` | 3000 |
| `M40` | 6000 |
| `M50` | 16000 |
| `M60` | 32000 |
| `M80` | 96000 |
| `M140` | 96000 |
| `M200` | 128000 |
| `M300` | 128000 |

### General Class

| Cluster Tier | Maximum Connections Per Node |
| --- | --- |
| `M10` | 1500 |
| `M20` | 3000 |
| `M30` | 3000 |
| `M40` | 6000 |
| `M50` | 16000 |
| `M60` | 32000 |
| `M80` | 64000 |
| `M140` | 96000 |
| `M200` | 128000 |
| `M300` | 128000 |
| `M400` | 128000 |
| `M600` | 128000 |

### General Class

| Cluster Tier | Maximum Connections Per Node |
| --- | --- |
| `M10` | 1500 |
| `M20` | 3000 |
| `M30` | 3000 |
| `M40` | 6000 |
| `M50` | 16000 |
| `M60` | 32000 |
| `M80` | 64000 |
| `M140` | 96000 |
| `M200` | 128000 |
| `M300` | 128000 |
| `M400` | 128000 |
| `M600` | 128000 |

### Increase Connection Limit

**Note:**

Atlas scales on memory and compute use, not on connections. However, increased active connections may increase load, which may create need to scale your cluster if other solutions are not viable.

If you are nearing or have reached the maximum number of connections your Atlas cluster can handle, choose one of the following options to redistribute connections or increase your limit:

- [Tune your application](https://www.mongodb.com/docs/manual/administration/performance-tuning.md#std-label-performance-tuning) to optimize connection usage.

- [Enable connection pooling](https://www.mongodb.com/docs/manual/administration/connection-pool-overview.md#std-label-connection-pool-overview) in your application.

- [Enable cluster auto-scaling](https://www.mongodb.com/docs/atlas/cluster-autoscaling.md#std-label-cluster-autoscaling) to automatically scale your application as needed. This option is particularly helpful if your application dynamically creates additional connections. An elastic database worker pool would be an example of such an application.

- Permanently scale your [cluster tier.](https://www.mongodb.com/docs/atlas/scale-cluster.md#std-label-scale-cluster-instance)

## Connection Rate Limits

Atlas applies connection rate limits to protect cluster availability and ensure optimal performance. A connection rate limit restricts the number of new incoming connections that each node in the cluster can accept per second. This limit is separate from the maximum number of connections that a node can hold open at one time, which is described in [Connection Limits and Cluster Tier.](https://www.mongodb.com/docs/atlas/reference/atlas-limits.md#std-label-connection-limits)

When a node reaches its connection rate limit, Atlas queues new connection attempts. If the period of overload is sustained, Atlas drops some connections. This behavior maintains cluster availability by preventing connection overload.

Whether connection rate limits apply depends on your cluster tier and MongoDB version:

- `M10` and `M20` cluster tiers: always on.

- `M30` and higher cluster tiers running MongoDB 9.0 or later: always on.

- `M30` and higher cluster tiers running MongoDB versions earlier than 9.0: always off.

The following tables outline the connection rate limits for each cluster tier and [storage class](https://www.mongodb.com/docs/atlas/customize-storage.md#std-label-storage-class-ui) across all cloud providers:

### General

| Cluster Tier | Maximum New Connections Per Second Per Node |
| --- | --- |
| `M10` | 15 |
| `M20` | 15 |
| `M30` | 24 |
| `M40` | 85 |
| `M50` | 170 |
| `M60` | 320 |
| `M80` | 1000 |
| `M90` (Microsoft Azure only) | 600 |
| `M140` | 1360 |
| `M200` | 1450 |
| `M250` (Google Cloud only) | 1500 |
| `M300` | 1600 |

Connection rate limits don't include connections from Atlas internal services.

## Collection and Index Limits

This section applies to Atlas Core clusters.

While there is no hard limit on the number of collections in a single cluster, the performance of a cluster might degrade if it serves a large number of collections and indexes. Larger collections have a greater impact on performance.

The recommended maximum combined number of collections and indexes by Atlas cluster tier are as follows:

| Cluster tier | Recommended maximum |
| --- | --- |
| M10 | 5,000 collections and indexes |
| M20 / M30 | 10,000 collections and indexes |
| M40+ | 100,000 collections and indexes |

If you exceed the recommended maximum number of collections and indexes, database operations might run more slowly. [Checkpoints](https://www.mongodb.com/docs/manual/core/wiredtiger/#snapshots-and-checkpoints) take longer to complete, which reduces operation speed. In some cases, operations can stall if your usage exceeds your system's `ulimit` settings, which set limitations on the number of system resources that you can use.

**Tip:**

To learn more about `ulimit` settings, see [UNIX ulimit Settings for Self-Managed Deployments](https://www.mongodb.com/docs/manual/reference/ulimit/) in the MongoDB Server Manual.

The performance impact of exceeding the recommended maximum resource number depends your collection usage. Performance impacts are more likely if you use the majority of the existing collections consistently.

### Increase Collection and Index Limits

If you need to increase the number of collections or indexes in your Atlas cluster, consider upgrading your [cluster tier.](https://www.mongodb.com/docs/atlas/scale-cluster.md#std-label-scale-cluster-instance)

### MongoDB Search Index Limits

This section applies to Atlas Core clusters.

A high index count generates significant load on the base cluster and might disrupt your workload. The number of indexes your cluster can support depends on your cluster tier and workload. Smaller cluster tiers like `M10` can experience performance degradation or out-of-memory errors as index count increases. Start with a small number of indexes and monitor your cluster's resource usage as you scale.

## Organization and Project Limits

| Component | Limit |
| --- | --- |
| [Database Users](https://www.mongodb.com/docs/atlas/security-add-mongodb-users.md#std-label-mongodb-users) per Atlas Project | 100 |
| [Atlas Users](https://www.mongodb.com/docs/atlas/access/manage-org-users.md#std-label-atlas-org-users) per Atlas Project | 500 |
| [Atlas Users](https://www.mongodb.com/docs/atlas/access/manage-org-users.md#std-label-atlas-org-users) per Atlas Organization | 500 |
| API Keys per Atlas Organization | 500 |
| [Access List Entries](https://www.mongodb.com/docs/atlas/security/ip-access-list.md#std-label-add-to-access-list) per Atlas Project | 200 |
| Users per Atlas Team | 250 |
| Teams per Atlas Project | 100 |
| Teams per Atlas Organization | 250 |
| Teams per Atlas User | 100 |
| Organizations per Atlas User | 250 |
| [Linked Organizations](https://www.mongodb.com/docs/atlas/billing.md#std-label-cross-org-billing) per Atlas Paying Organization | 250 |
| Clusters per Atlas Project | 25 |
| Projects per Atlas User | 250 |
| Projects per Atlas Organization | 250 |
| [Custom MongoDB roles](https://www.mongodb.com/docs/atlas/security-add-mongodb-roles.md#std-label-mongodb-roles) per Atlas Project | 100 |
| Assigned Custom Roles per Database User | 20 |
| [Federated database instances](https://www.mongodb.com/docs/atlas/data-federation.md#std-label-atlas-data-federation) per Atlas [Project](https://www.mongodb.com/docs/atlas/organizations-projects.md#std-label-projects) | 25 |
| Total Network Peering Connections per Atlas [Project](https://www.mongodb.com/docs/atlas/organizations-projects.md#std-label-projects) | 50 Atlas limits the number of nodes per [Network Peering connection](https://www.mongodb.com/docs/atlas/security-vpc-peering.md#std-label-vpc-peering) based on the CIDR (Classless Inter-Domain Routing) block and the [region](https://www.mongodb.com/docs/atlas/cloud-providers-regions.md#std-label-create-cluster-cloud-provider-region) selected for the project. |
| Pending Network Peering Connections per Atlas [Project](https://www.mongodb.com/docs/atlas/organizations-projects.md#std-label-projects) | 25 |
| [AWS PrivateLink](https://www.mongodb.com/docs/atlas/security-private-endpoint.md#std-label-atlas-pl-limitations) Addressable Target Nodes per Region | 50 |
| [Azure Private Link](https://www.mongodb.com/docs/atlas/security-private-endpoint.md#std-label-atlas-pl-limitations) Addressable Target Nodes per Region | 150 |
| [Google Cloud GCP Private Service Connect](https://www.mongodb.com/docs/atlas/security-private-endpoint.md#std-label-atlas-pl-limitations) Addressable Target Nodes per Region | 50 |
| Global Cluster [shard keys](https://www.mongodb.com/docs/manual/core/sharding-shard-key/) per Atlas [Project](https://www.mongodb.com/docs/atlas/organizations-projects.md#std-label-projects) | 40 |

**Note:**

**Addressable Target Nodes** refer to the maximum number of MongoDB nodes that can be accessed through private endpoints per project, per region. Target nodes include [`mongod`](https://www.mongodb.com/docs/manual/reference/program/mongod.md#mongodb-binary-bin.mongod) instances in replica sets, [`mongos`](https://www.mongodb.com/docs/manual/reference/program/mongos.md#mongodb-binary-bin.mongos) instances in sharded clusters, and BI Connector for Atlas instances across all dedicated clusters in the project.

&#x20;You can deploy only one Free cluster (formerly known as `M0`) per project. However, if you have sales contracts with MongoDB, you might be able to deploy more Free clusters per project. To learn more, contact a MongoDB sales representative.

## Label Limits

Atlas limits the length of particular labels for components.

| Component | Character Limit | RegEx Pattern |
| --- | --- | --- |
| Cluster Name | 64 | `^([a-zA-Z0-9]([a-zA-Z0-9-]){0,21}(?<!-)([\w]{0,42}))$` |
| Project Name | 64 | `^[\p{L}\p{N}\-_.(),:&@+']{1,64}$` |
| Organization Name | 64 | `^[\p{L}\p{N}\-_.(),:&@+']{1,64}$` |
| API (Application Programming Interface) Key Description | 250 | |

If you have [peering-only mode enabled](https://www.mongodb.com/docs/atlas/reference/faq/connection-changes.md#std-label-atlas-faq-azure-gcp-peering-only), the cluster name character limit is 23.

Atlas uses the first *23 characters* of a cluster name. These characters must be unique within the containing project. Cluster names with fewer than 23 characters can't end with a hyphen (`-`). Cluster names with more than 23 characters can't have a hyphen as the 23rd character.

Organization and Project names can include any Unicode letter or number plus the following punctuation: `-_.(),:&@+'`.

## Database User Privilege Limits

To learn more about unsupported commands, see the unsupported commands for [free and flex clusters](https://www.mongodb.com/docs/atlas/unsupported-commands.md#std-label-free-tier-command-limitations) and [paid clusters.](https://www.mongodb.com/docs/atlas/unsupported-commands.md#std-label-paid-tier-command-limitations)

## Multi-Cloud Deployment Limits

This section applies to Atlas Core clusters.

Multi-cloud deployments have different limits. To learn more, see [Multi-Cloud Deployment Limits.](https://www.mongodb.com/docs/atlas/cluster-config/multi-cloud-distribution.md#std-label-multi-cloud-limitation)

## Search Node Limits

This section applies to Atlas Core clusters.

Atlas limits the number of [Search Nodes](https://www.mongodb.com/docs/atlas/cluster-config/multi-cloud-distribution.md#std-label-configure-search-nodes) you can deploy for a cluster:

- Minimum of 2 Search Nodes per region

- Maximum of 32 Search Nodes per region per shard

To learn more, see [Multi-Region and Multi-Cloud Clusters with Search Nodes.](https://www.mongodb.com/docs/atlas/cluster-config/multi-cloud-distribution.md#std-label-multi-region-search-nodes)
