MongoDB-4.x 开启shard集群后批量插入性能低的问题

关注我的blog获取最新内容

最近接触了mongodb,用两台物理机部署了3个centos7-vm,分别在没台机器上部署了route和config。其中shard每台vm部署了一个,并没有配置复制集。
节点部署

在性能验证的时候发现在不对collection开启shard的时候批量插入的性能大概在25000条/s。而开启shard之后批量插入的性能下降到了5000条/s。

。。。。

在经过一番排查之后再Stack Overflow上找到了这篇问答

其中一位回答者提到了可能是collection.bulkWrite(list);导致的。

所以想到了问题可能出在客户端上。
我用的是springboot集成的MongoTemplate。

    public void batchInsert(List<Szgp> list){
        mongoTemplate.insert(list,Szgp.class);
	}

修改为

    public void batchInsert(List<Szgp> list){
        BulkOperations ops = mongoTemplate.bulkOps(BulkOperations.BulkMode.UNORDERED,  Szgp.class);
        ops.insert(list);
        ops.execute();
    }

问题得以解决

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值