MongoDB Documentation, Release 3.0.4 On Linux, mongod and mongos processes limit the keepalive to a maximum of 300 seconds (5 minutes) on their own sockets by overriding keepalive values greater than 5 minutes. reg query HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters /v KeepAliveTime The registry value is not present by default. The system default, used if the value is absent, is 7200000 millisec- onds or 0x6ddd00 in hexadecimal. reg add HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\ /v KeepAliveTime /d <value> Windows users should consider the Windows Server Technet Article on KeepAliveTime 69 for more information on setting keep alive for MongoDB deployments on Windows systems. As some users have run into issues with VMWare’s memory overcommit feature, you should disable the feature. VMWare MongoDB is compatible with VMWare. Further, MongoDB is known to run poorly with VMWare’s balloon driver ( vmmemctl ), so you should disable this as well. VMWare uses the balloon driver to reduce physical memory usage on the host hardware by allowing the hypervisor to swap to disk while hiding this fact from the guest, which continues to see the same amount of (virtual) physical memory. This interferes with MongoDB’s memory management, and you are likely to experience significant performance degradation. It is possible to clone a virtual machine running MongoDB. You might use this function to spin up a new virtual host to add as a member of a replica set. If you clone a VM with journaling enabled, the clone snapshot will be valid. If not using journaling, first stop mongod , then clone the VM, and finally, restart mongod . MongoDB on Solaris The MongoDB distribution for Solaris does not include support for the WiredTiger storage engine (page 90). iostat On Linux, use the iostat command to check if disk I/O is a bottleneck for your database. Specify a number of seconds when running iostat to avoid displaying stats covering the time since server boot. For example, the following command will display extended statistics and the time for each displayed report, with traffic in MB/s, at one second intervals: iostat -xmt 1 Key fields from iostat : bwm-ng bwm-ng 70 is a command-line tool for monitoring network use. If you suspect a network-based bottleneck, you may use bwm-ng to begin your diagnostic process. Chapter 5. Administration 206 $^{69}$https://technet.microsoft.com/en-us/library/cc957549.aspx $^{70}$http://www.gropp.org/?id=projects&sub=bwm-ng • %util : this is the most useful field for a quick check, it indicates what percent of the time the device/drive is in use. • avgrq-sz : average request size. Smaller number for this value reflect more random IO operations. • To view the keep alive setting, issue the following command: • To change the KeepAliveTime value, use the following command in an Administrator Command Prompt , where <value> is expressed in hexadecimal (e.g. 0x0124c0 is 120000): For Windows systems : Performance Monitoring