Reputation: 47
I am planning to setup a small mongodb testing environment which consists of 6 physical servers and each server has 4 SSDs. My expectation is to maximize both I/O throughput and disk space utilization. After some reading and searching, it seems that MongoDB is only able to configure a single data folder for each instance. There are 3 possible solutions in my mind:
Which deployment strategy is the most recommended way in a heavy loaded mongo production environment? Thanks.
Upvotes: 3
Views: 1411
Reputation: 5332
- for each disk on each server, create a mongo shard instance (or shard's replica).
You make no mention of RAM in your post, but running multiple Mongo instances on the same server will result in them competing for RAM.
- start mongo instance with "--directoryperdb" parameter to store databases in seperate folders, and then use Linux symbol link to point the database folders to other disks.
No need to mess around with symbolic links, just mount the disks to the directory where Mongo puts each database.
I would either go for option 1 (RAID) or option 3 (databases on separate disks), but in either case some benckmarks would be a good idea before going into production.
Upvotes: 1