I found that the limit is based on reads / writes; after all the fragments are related to capacity increase, he writes mostly, while the replicas are more interested in reading. However, using separate servers (nodes) for data ranges (shard key) can also help read so that it has a knock effect for both.
For example, you can only use 40% of your current server memory with your current working set, but due to the number of emails sent to this single server, you can actually see speed problems due to I / O. At this time, you must consider the situation.
So, I would personally say, and this question is largely based on the opinions that you should fragment when you feel that you need more options for operations than it is economically viable for one set of replicas.
I know about the only replica settings that can accept what, as a rule, the entire cluster, but it depends on how big your budget is. When a computer gets more expensive, it gets more expensive.
source share