Mongodb迁移阈值控制?

Mongodb迁移阈值控制?,mongodb,data-migration,Mongodb,Data Migration,我正在寻找一种在mongodb中控制分片集合迁移阈值的方法。有关这些阈值的说明,请参阅 我在这些值中看到的是,对于少量的块(0-20:2,20-80:4,80+:8),它们调整了大约10%的块计数的迁移阈值。除此之外,它被锁定为8个块:碎片成员之间的8个块计数不同将触发迁移活动 对于具有高活动率和大量数据的集合,这会导致平衡冲击-几乎总是存在8个块的差异。由于切分集合上的高交易率,有一系列完全可以接受的导致暂时不平衡的原因(我在这里不赘述)。当我们关闭均衡器时,小的暂时性失衡通常会随着集群活动的

我正在寻找一种在mongodb中控制分片集合迁移阈值的方法。有关这些阈值的说明,请参阅

我在这些值中看到的是,对于少量的块(0-20:2,20-80:4,80+:8),它们调整了大约10%的块计数的迁移阈值。除此之外,它被锁定为8个块:碎片成员之间的8个块计数不同将触发迁移活动

对于具有高活动率和大量数据的集合,这会导致平衡冲击-几乎总是存在8个块的差异。由于切分集合上的高交易率,有一系列完全可以接受的导致暂时不平衡的原因(我在这里不赘述)。当我们关闭均衡器时,小的暂时性失衡通常会随着集群活动的转移而得到有机纠正。打开平衡器后,当它完成一个迁移时,另一个(或多个并行)会立即触发

随着阈值像这样被锁定,我们更大的集合将以其他方式使用所有耗时的IOPS和网络带宽。这些微小的迁移也没有任何实际的好处:如果我们谈论的是一个大的集合,那么8个数据块相对于任何实际工作负载来说都是非常小的数据量。因此,我们花费了大量精力来移动大量的小片段,以实现零效益

我希望找到一个配置文件设置,它至少允许我重新定义这些值。更好的办法是强制执行分数策略,比如集合中块数的10%。我在mongo文档中没有看到任何这种类型的控件,但可能会丢失它

如果做不到这一点,我将不得不对代码进行加速,并自己对其进行重新工具化,以便从源代码进行构建,因此我希望有人已经解决了这个问题,而我只是不知道在哪里可以控制它。提前谢谢