开发者社区> 问答> 正文

MongoDB在集群模式下,快速批量插入

之前在测试mongodb持续大量插入的时候,遇到一些问题:
1 mongodb的插入性能不稳定,经常某一段时间一条都插不进去
2 mongodb的插入速度不是很高,平均在2000/shard*second
3 mongodb在持续插入的情况下,经常出现slave的RS102错误,恢复起来非常消耗时间
我的测试环境:
shard1: dxud3c006 + dxud3c007 + dxud3c008
shard2: dxud3c009 + dxud3c010 + dxud3c011
config: dxud3c006 + dxud3c009 + dxud3c005
mongos: dxud3c005(4个)
请诸位牛人帮忙看看可能是什么原因

展开
收起
落地花开啦 2016-02-25 15:09:11 2771 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    批量更新,利用WriteModel类型来存储要插入的集合,使用InsertOneModel类型来承载要插入的对象

     public void Insert(IEnumerable<TEntity> item)
            {
                var list = new List<WriteModel<TEntity>>();
                foreach (var iitem in item)
                {
                    list.Add(new InsertOneModel<TEntity>(iitem));
                }
                _table.BulkWriteAsync(list).Wait();
            }
    2019-07-17 18:47:34
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Data as a Service - 数据即服务 -- MongoDB⾼级应⽤模式 立即下载
开源数据库 MongoDB 专场 MongoDB疑难杂症分析及优化 立即下载
饿了么高级架构师陈东明:MongoDB是如何逐步提高可靠性的 立即下载