On this page
Production Notes
On this page
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 | ✓ | ✓ |
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.
Recommended Platforms
While MongoDB supports a variety of platforms, the following operating systems are recommended for production use:
- Amazon Linux
- Debian 8 and 9
- RHEL / CentOS 6, 7, and 8
- SLES 12
- Ubuntu LTS 16.04
- Windows Server 2016
See also
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