MongoDB-4.x 開啟shard集群后批量插入性能低的問題

關注我的blog獲取最新內容

最近接觸了mongodb,用兩臺物理機部署了3個centos7-vm,分別在沒臺機器上部署了route和config。其中shard每臺vm部署了一個,并沒有配置復制集。


節(jié)點部署

在性能驗證的時候發(fā)現(xiàn)在不對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();
    }

問題得以解決

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 1、count統(tǒng)計結果錯誤 這是由于分布式集群正在遷移數(shù)據(jù),它導致count結果值錯誤,需要使用aggregate...
    空語閱讀 2,317評論 0 6
  • 數(shù)據(jù)副本 MongoDB中的一組副本是一群mongod進程,這些進程維護同樣的數(shù)據(jù)集。副本集提供了冗余和高可用性,...
    宇哥聊AI閱讀 662評論 1 11
  • 1.1 MongoDB復制集簡介 一組Mongodb復制集,就是一組mongod進程,這些進程維護同一個數(shù)據(jù)集合。...
    IT_小白閱讀 907評論 0 4
  • 本文包括以下幾個方面: –安全措施 – 部署架構 – 系統(tǒng)優(yōu)化 – 索引設計 – 備份監(jiān)控 – 模式設計 – 程序...
    張偉科閱讀 4,237評論 0 9
  • 8月31號這個特殊的日子,我不約千里甚至萬里的回到我們美麗的大帝國平度,我懷著我的種種期望和擔心回到了帝國,...
    王浩碩爸爸閱讀 491評論 0 0

友情鏈接更多精彩內容