Modify Chunk Size in a Sharded Cluster
The default chunk size for a sharded cluster is 128 megabytes. This default chunk size works well for most deployments; however, if you notice that automatic migrations have more I/O than your hardware can handle, you may want to reduce the chunk size. For automatic splits and migrations, a small chunk size leads to more rapid and frequent migrations. The allowed range of the chunk size is between 1 and 1024 megabytes, inclusive.
To modify the chunk size, use the following procedure:
- Connect to any
mongos
in the cluster usingmongosh
. Issue the following command to switch to the Config Database:
use config Issue the following command to store the global chunk size configuration value:
db.settings.updateOne( { _id: "chunksize" }, { $set: { _id: "chunksize", value: <sizeInMB> } }, { upsert: true } )
Modifying the chunk size has several limitations:
- Automatic splitting only occurs on insert or update.
- If you lower the chunk size, it may take time for all chunks to split to the new size.
- Splits cannot be undone.
- If you increase the chunk size, existing chunks grow only through insertion or updates until they reach the new size.
- The allowed range of the chunk size is between 1 and 1024 megabytes, inclusive.