- Vmware capacity planning best practices 64 Bit#
- Vmware capacity planning best practices series#
- Vmware capacity planning best practices free#
Network CompressionĪs a distributed database, MongoDB relies on efficient network transport during query routing and inter-node replication. When running MongoDB servers and clients on NUMA hardware, you should configure a memory interleave policy using the numactl -interleave command. Running MongoDB on a system with Non-Uniform Memory Access (NUMA) can cause a number of operational problems, including slow performance for periods of time, inability to use all available RAM, and high system process usage. Use Interleave Policy on NUMA Architecture MongoDB Atlas automatically provisions a query router for each shard in your cluster. You should use at least as many mongos processes as there are shards. Multiple mongos processes should be spread across multiple servers. Note that MongoDB itself will also allocate memory beyond the WiredTiger cache.Īlso, as MongoDB supports variable sized records and WiredTiger creates variable sized pages, some memory fragmentation is expected and will consume memory above the configured cache size. Caution should be taken if raising the value as it takes resources from the OS, and WiredTiger performance can actually degrade as the filesystem cache becomes less effective.
Vmware capacity planning best practices free#
If the cache does not have enough space to load additional data, WiredTiger evicts pages from the cache to free up space.īy default, is set to 50% of the available RAM, minus 1 GB. The size of WiredTiger storage engine’s internal cache is tunable through the setting and should be large enough to hold your entire working set.
In this case you will have to make several configuration changes to make sure each process has sufficient resources.įor availability, multiple members of the same replica set should not be co-located on the same physical hardware or share any single point of failure such as a power supply or network switch. With appropriate sizing and resource allocation using virtualization or container technologies, multiple MongoDB processes can safely run on a single physical server without contending for resources.įor some use cases (multi-tenant, microsharding) users deploy multiple MongoDB processes on the same host. Dedicate Each Server to a Single Role in the Systemįor best performance, you should run one mongod process per host. Review the documentation to see the current limits. In MongoDB Atlas, the number of CPU cores and concurrent client connections is a function of your chosen cluster tier. Note that typically investing in more RAM and disk IOPS gives the highest benefit to database performance. You should provision an adequate number of CPU cores in proportion to concurrent client connections. In addition background worker threads perform tasks like checkpointing and cache eviction. Typically a single client connection is represented by its own thread. MongoDB’s WiredTiger storage engine architecture is capable of efficiently using multiple CPU cores.
Vmware capacity planning best practices series#
Refer to Part 1 of the series for more information. RAM size is the most important factor for instance sizing other optimizations may not significantly improve the performance of the database if there is insufficient RAM. Ensure Your Working Set Fits in RAMĪs stated in the very first blog post of this series, MongoDB performs best when the application’s working set (indexes and most frequently accessed data) fits in memory. Refer to the supported platforms section of the documentation for the latest hardware and OS support matrices.
Vmware capacity planning best practices 64 Bit#
Run on Supported Platformsīeyond Atlas, you can run MongoDB on a variety of operating systems and processor architectures – from 64 bit x86 and ARM CPUs, to IBM POWER and mainframe systems. If you are running MongoDB yourself, then this post will be useful for you. You should refer to the Atlas Sizing and Tier Selection documentation for guidance on sizing. If you are running MongoDB on Atlas, our fully-managed and global cloud database service, then many of the considerations in this section are taken care of for you.