【问题标题】:MongoDB Sharded cluster: Inserts only hitting one shardMongoDB 分片集群:仅插入一个分片
【发布时间】:2014-12-09 17:54:25
【问题描述】:

我们正在使用一个有 6 个分片的集群。

该集合使用非散列键。

文档相当大,我们的chunk-size 设置为512MB

两个巨大的批量插入命中我们的集群,但所有内容都插入到单个分片中。 这会导致 120% 的有效锁定,而其他分片在 5% 锁定时冷却。

我认为 bulk inserts 只附加最后一个块,因为 inserts 是有序的。由于负载过重,在插入结束之前不会重新分配块。

在批量插入重新分配之后效果很好。

MongoDB 版本是 2.6.5。

如何配置配置服务器以自动分发批量插入?

如果需要更多信息,我会编辑帖子。

谢谢大家!!!

如下回答:

预拆分是我们的最佳解决方案。这允许我们在插入之前均匀分布整个集合,因为我们知道密钥空间!谢谢!

【问题讨论】:

    标签: mongodb


    【解决方案1】:

    听起来您的分片键是单调的documentation has a large section about bulk insert in sharded environments

    基本上,

    1. pre-split the collection
    2. 或插入不同的mongos(不用于初始插入)
    3. 和/或确保您的分片键不会单调增加(对于非散列集合,这通常是个好主意)。

    【讨论】:

      猜你喜欢
      • 2022-12-04
      • 1970-01-01
      • 2021-07-26
      • 1970-01-01
      • 2016-03-05
      • 1970-01-01
      • 2022-01-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多