Hi Anand,
The actual amount of RAM you will require is dependent upon on your use-case. There is no one-size-fits-all value for RAM requirements, but ideally you would want your entire index as well as your ‘working set’ to fit the allocated RAM on each of your shard servers. You may find the MongoDB cache handling documentation helpful.
Although the mongos
and config servers
are not data-bearing, you will need to take them into consideration. You need to ensure that there is sufficient memory allocated for connections handling for your mongos
and config servers. Please review the MongoDB Memory FAQ for more information on the RAM requirements for each connection. Note that the FAQ points out that the RAM requirements for MMAPV1 and WiredTiger are quite different, so depending on your use case these differences will need to be taken into consideration.
You may also find the following links useful while still in your planning phase:
Thanks,
Chris