mongodb第十一篇文章~mongodb的引擎解讀

來源:互聯網
上載者:User

標籤:使用   數字   對比   命名   snap   儲存引擎   2.x   實體記憶體   儲存方式   

一 簡介 WiredTiger引擎調優技

二 兩種引擎對比概念

  從3.2.x開始,WiredTiger成為預設的儲存引擎。最為MongoDB目前最流行的儲存引擎,WiredTiger與原先的MMAPV1相比有以下優勢:

  1 效能&並發:在大多數工作負載下,WiredTiger的效能要比MMAPV1高很多。WiredTiger引擎為現代多核系統量身定製,更好地發揮多核系統的處理能力。MMAPV1引擎使用表級鎖,因此,當某個單表上有並發的操作,吞吐將受到限制。WiredTiger使用文檔級鎖,由此帶來並發及吞吐的提高。對於典型的應用,切到WiredTiger引擎,可帶來5-10倍的效能提升。

 2  壓縮&加密:MMAPV1引擎要求資料在記憶體和在磁碟的形式一致(map磁碟記憶體映射)。因此,它並不支援壓縮和加密。WiredTiger並沒有這層限制,可以更好地支援。

3   索引首碼壓縮:WiredTiger儲存索引時使用首碼壓縮——相同的首碼只存一次。由此帶來的效果是:索引更小了,對實體記憶體使用也更少了。

4   資料存放區方式: 兩種儲存引擎採用了不同的儲存引擎,是沒辦法直接替換軟體目錄進行升級的,只能初始化重新同步或者匯入,wt引擎生產的資料和索引檔案以wt為結尾,jr日誌命名為WiredTigerPreplog開頭1三 WiredTiger 參數

 一  wiredTigerCacheSizeGB=48
含義
   1 cacheSizeGB 指的就是Cache size,包括資料和索引。Mongod本身使用記憶體如串連池堆棧以及sorting buffer等都是額外的,不會被統計到這個數字裡面。
   2 MongoDB在做諸如彙總、排序、串連管理等操作時需要額外的記憶體。因此,必須確保有足夠的記憶體可供使用,否則,MongoDB進程有被OOM killer殺死的風險。
     和mysql的innodb_buffer_pool很像呢,資料索引放在記憶體裡,排序需要額外的記憶體
2 推薦配置
   伺服器記憶體X75%
3 查看狀態命令
   db.serverStatus().wiredTiger.cache
二  wiredTigerDirectoryForIndexes=true
1  含義
    Index檔案和資料檔案分離,索引一個目錄,資料一個目錄。
    去具體的collection目錄下可以發現
    collection index 兩個目錄
三  wiredTigerDirectoryForIndexes=true
1 含義
   是否開啟索引的首碼壓縮,這裡影響所有DB的索引。它會一次儲存所有首碼一樣的索引,
   減少記憶體、磁碟IO的消耗,預設開啟。
四  wiredTigerCollectionBlockCompressor=snappy
1 含義
   採用何種壓縮方式 預設snappy 不建議採用zlib方式,會加重CPU的負擔

五 以後有的會繼續補充

mongodb第十一篇文章~mongodb的引擎解讀

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.