默认是64MB,取值范围是1 MB 到 1024 MB.
那改动会造成什么?下表简单总结:
chunk size 调节 | splitting次数(碎片数) | 数据跨shard数目 | 数据均匀 | 网络传输次数 | migration次数 | 单次migration 传输量 | 查询速度 |
---|---|---|---|---|---|---|---|
变大 | 降低 | 变少 | 不太均匀 | 变少 | 变少 | 变大 | 变快 |
变小 | 增多 | 变多 | 更均匀 | 变多 | 变多 | 变小 | 变慢 |
在数据量非常大的情况下,考虑网络带宽,假设发现带宽占满,能够考虑调小chunk size,这样migration造成的传输量会降低
在server硬件非常好的情况下,比方我的servercpu 24 core, memory 128 GB, disk 96 TB. 考虑调大chunk size。降低不必要的分片。
详细设置就是使用命令,不要用配置文件。參考官方文档:
http://docs.mongodb.org/manual/tutorial/modify-chunk-size-in-sharded-cluster/