MongoDB Fragmentation affect the Performance in WiredTiger

fragmentationmongodbwiredtiger

Im using MongoDB 3.6 I have a huge number of fragmentation in my collections. 300+ GB on one collection. WiredTiger is the storage engine.

I know its bad for the OS and much wasted space. This affects the memory as well if we use MMAP engine. But I don't know how the fragmentation affects the WiredTiger?

Best Answer

It will be less efficient to fetch data if you have a lot of space available for reuse. However, that space could be reused if you continue to insert or update documents in the collection.

If you've dropped a significant amount of data (which sounds like ~300GB in one of your collections) you can reclaim space by either:

For either approach I would use rolling maintenance to maintain availability.

A resync would be the most effective option. The compact command is riskier to run as a replica set member may become stale while running compact offline (and require resync); this operation may also not be able to free as much disk space as a resync and needs to be run per collection.