默认是64MB,取值范围是1 MB 到 1024 MB.
那修改会造成什么?下表简单总结:
?
| chunk size 调节 | splitting次数(碎片数) | 数据跨shard数目 | 数据均匀 | 网络传输次数 | migration次数 | 单次migration 传输量 | 查询速度 |
|---|---|---|---|---|---|---|---|
| 变大 | 减少 | 变少 | 不太均匀 | 变少 | 变少 | 变大 | 变快 |
| 变小 | 增多 | 变多 | 更均匀 | 变多 | 变多 | 变小 | 变慢 |
?
在数据量很大的情况下,考虑网络带宽,如果发现带宽占满,可以考虑调小chunk size,这样migration造成的传输量会降低
在服务器硬件很好的情况下,比如我的服务器cpu 24 core, memory 256 GB, disk 96 TB. 考虑调大chunk size,减少不必要的分片。