This is my first time writing my experience on a public domain, I will try to keep it simple as possible.I started this as a reminder for myself regarding the common pitfalls because as we all know in a few years I will not remember a thing of this subject.
I have been using MongoDB for quite a while now, recently, a major version has been released - MongoDB 3.0, soon after inspecting the release notes the evaluation has begun.
The initial upgrade only included the change in the driver and the binary of the server, without any other major changes, this led to better performance, little we knew what about to come.
Our next step was changing the storage engine from mmapv1 to wiredTiger.
The evaluation findings:
1. wiredTiger has better storage efficiency ~7 times better than mmapv1
2. performance of accessing data is extremely better - still no figures to share.
1. The only third party utility that currently works with the wiredTiger storage engine is MongoChef , robomongo also declared its future support
2. Authentication using the new SCRAM-SHA-1 method is currently supported only by MongoChef
3. As any naive DBA would do, testing with the new parameters of the wiredTiger storage engine provides the major conclusion that once the option of wiredTigerDirectoryForIndexes is either set or not, it cannot be changed.
The feature of changing between wiredTigerDirectoryForIndexes=false to wiredTigerDirectoryForIndexes=true is one of the most important features that MongoDB should include in the next version. The motivation is hidden with my next finding.
When wiredTigerDirectoryForIndexes=false the amount of files that create in a single folder is extremely high, which even cause the "show dbs" command to be rather slow - several seconds.
Upgrade mongo to 3.0 as soon as possible, better performance. Use the new wiredTiger storage engine with wiredTigerDirectoryForIndexes=true in order to achieve best performance.