As we will see in the next sections, sharding is complicated and expensive operation-wise. It is important to plan ahead and make sure that we start the sharding process long before we hit our system's limits.
Some rough guidelines on when to start sharding:
- CPU utilization of <70% on an average
- I/O and especially write capacity is <80%
- Memory utilization <70% on an average
As sharding helps with write performance, it's important to keep an eye on our I/O write capacity and requirements from our application.
Don't wait until the last minute to start sharding in an already busy-to-the-neck MongoDB system; it can have unintended consequences.