Production Notes

This page details system configurations that affect MongoDB, especially when running in production.

Note

MongoDB Atlas is a cloud-hosted database-as-a-service. MongoDB Cloud Manager , a hosted service, and Ops Manager , an on-premise solution, provide monitoring, backup, and automation of MongoDB instances. For documentation, see Atlas documentation , the MongoDB Cloud Manager documentation and Ops Manager documentation

MongoDB Binaries

Supported Platforms

For running in production, refer to the Recommended Platforms for operating system recommendations.

Changed in version 3.2: MongoDB can now use the WiredTiger storage engine on all supported platforms.

x86_64

Platform Support EOL Notice

Debian 7 Support removed in MongoDB 3.6.6+.
SLES 11 Support removed in MongoDB 3.6.4+.
Ubuntu 12.04 Support removed in MongoDB 3.6.4+.
macOS 10.9 and previous Support removed in MongoDB 3.6+.

Platform 3.6 Community & Enterprise 3.4 Community & Enterprise 3.2 Community & Enterprise
Amazon Linux 2013.03 and later
Debian 9 3.6.5+    
Debian 8
RHEL/CentOS/Oracle Linux [1] 8.0 and later 3.6.17+    
RHEL/CentOS/Oracle Linux [1] 7.0 and later
RHEL/CentOS/Oracle Linux [1] 6.2 and later
RHEL/CentOS/Oracle Linux [1] 8.0 and later 3.6.17+    
SLES 12  
Solaris 11 64-bit   Community only Community only
Ubuntu 16.04
Ubuntu 14.04
Windows 10 / Server 2016
Windows 8.1 / Server 2012 R2
Windows 8 / Server 2012
Windows 7 / Server 2008 R2
Windows Vista  
macOS 10.10 - 12  
macOS 10.8 and 10.9  
[1] (1, 2, 3, 4) MongoDB only supports Oracle Linux running the Red Hat Compatible Kernel (RHCK). MongoDB does not support the Unbreakable Enterprise Kernel (UEK).

ARM64

Platform 3.6 Community & Enterprise 3.4 Community & Enterprise
Ubuntu 16.04

PPC64LE (MongoDB Enterprise Edition)

Platform 3.6 Enterprise 3.4 Enterprise
RHEL/CentOS 7.1
Ubuntu 16.04 Removed starting in 3.6.13 Removed starting in 3.4.21

s390x (MongoDB Enterprise Edition)

Platform Support EOL Notice

  • MongoDB 3.6 and 3.4 are no longer supported on the s390x platform. Please upgrade to MongoDB 4.0 or later for Enterprise support or MongoDB 4.2 or later for Community support on the s390x platform.
Platform 3.6 Enterprise 3.4 Enterprise
RHEL/CentOS 7 Removed starting in 3.6.17 Removed starting in 3.4.14
RHEL/CentOS 6 Removed starting in 3.6.14 Removed starting in 3.4.22
SLES 12 Removed starting in 3.6.17 Removed starting in 3.4.13
SLES 11 Removed starting in 3.6.4 Removed starting in 3.4.15
Ubuntu 16.04 Removed starting in 3.6.5 Removed starting in 3.4.14

Important

MMAPv1 is not supported on big-endian architectures such as s390x. MongoDB returns an error if you set MMAPv1 as the storage engine on a big-endian system.

Use the Latest Stable Packages

Be sure you have the latest stable release.

All MongoDB releases are available on the Downloads page. The Downloads page is a good place to verify the current stable release, even if you are installing via a package manager.

For other MongoDB products, refer either to the MongoDB Download Center page or their respective documentation .

MongoDB dbPath

The files in the dbPath directory must correspond to the configured storage engine. mongod will not start if dbPath contains data files created by a storage engine other than the one specified by --storageEngine.

mongod must possess read and write permissions for the specified dbPath.

Concurrency

MMAPv1

Changed in version 3.0: Beginning with MongoDB 3.0, MMAPv1 provides collection-level locking: All collections have a unique readers-writer lock that allows multiple clients to modify documents in different collections at the same time.

For MongoDB versions 2.2 through 2.6 series, each database has a readers-writer lock that allows concurrent read access to a database, but gives exclusive access to a single write operation per database. See the Concurrency page for more information. In earlier versions of MongoDB, all write operations contended for a single readers-writer lock for the entire mongod instance.

WiredTiger

WiredTiger supports concurrent access by readers and writers to the documents in a collection. Clients can read documents while write operations are in progress, and multiple threads can modify different documents in a collection at the same time.

See also

Allocate Sufficient RAM and CPU provides information about how WiredTiger takes advantage of multiple CPU cores and how to improve operation throughput.

Data Consistency

Journaling

MongoDB uses write ahead logging to an on-disk journal. Journaling guarantees that MongoDB can quickly recover write operations that were written to the journal but not written to data files in cases where mongod terminated due to a crash or other serious failure.

Leave journaling enabled in order to ensure that mongod will be able to recover its data files and keep the data files in a valid state following a crash. See Journaling for more information.

Read Concern

New in version 3.2.

Starting in MongoDB 3.6, you can use causally consistent sessions to read your own writes, if the writes request acknowledgement.

Prior to MongoDB 3.6, you must have issued your write operation with { w: "majority" } write concern and then use either "majority" or "linearizable" read concern for the read operations to ensure that a single thread can read its own writes.

To use read concern level of "majority", replica sets must use WiredTiger storage engine and election

首页