MongoDB on Windows MongoDB Using MMAPv1 <path to SSL libs>/libssl.so.<version>: no version information available (required by <path to SSL libs>/libcrypto.so.<version>: no version information available (required by MongoDB and TLS/SSL Libraries On Linux platforms, you may observe one of the following statements in the MongoDB log: These warnings indicate that the system’s TLS/SSL libraries are different from the TLS/SSL libraries that the mongod was compiled against. Typically these messages do not require intervention; however, you can use the following operations to determine the symbol versions that mongod expects: objdump -T <path to mongod>/mongod | grep " SSL_" objdump -T <path to mongod>/mongod | grep " CRYPTO_" These operations will return output that resembles one the of the following lines: The last two strings in this output are the symbol version and symbol name. Compare these values with the values returned by the following operations to detect symbol version mismatches: 0000000000000000 DF * UND * 0000000000000000 libssl.so.10 SSL_write 0000000000000000 DF * UND * 0000000000000000 OPENSSL_1.0.0 SSL_write objdump -T <path to TLS/SSL libs>/libssl.so.1 * objdump -T <path to TLS/SSL libs>/libcrypto.so.1 * This procedure is neither exact nor exhaustive: many symbols used by mongod from the libcrypto library do not begin with CRYPTO_ . MongoDB Documentation, Release 3.0.4 Install Hotfix for MongoDB 2.6.6 and Later Microsoft has released a hotfix for Windows 7 and Windows Server 2008 R2, KB2731284$^{66}$, that repairs a bug in these operating systems’ use of memory-mapped files that adversely affects the performance of MongoDB using the MMAPv1 storage engine. Install this hotfix to obtain significant performance improvements on MongoDB 2.6.6 and later releases in the 2.6 series, which use MMAPv1 exclusively, and on 3.0 and later when using MMAPv1 as the storage engine. Configure Windows Page File For MMAPv1 Configure the page file such that the minimum and maximum page file size are equal and at least 32 GB. Use a multiple of this size if, during peak usage, you expect concurrent writes to many databases or collections. However, the page file size does not need to exceed the maximum size of the database. A large page file is needed as Windows requires enough space to accommodate all regions of memory mapped files made writable during peak usage, regardless of whether writes actually occur. The page file is not used for database storage and will not receive writes during normal MongoDB operation. As such, the page file will not affect performance, but it must exist and be large enough to accommodate Windows’ commitment rules during peak database use. Note: Dynamic page file sizing is too slow to accommodate the rapidly fluctuating commit charge of an active MongoDB deployment. This can result in transient overcommitment situations that may lead to abrupt server shutdown with a VirtualProtect error 1455. $^{66}$http://support.microsoft.com/kb/2731284 Chapter 5. Administration 204