教你五步優化你的MongoDB
下面PPT和視頻的作者是MongoDB的開發工程師Jared Rosoff,他從下面幾個方面對MongoDB的幾個優化點進行了講解和描述。這些優化實際上也適用于很多其它的數據庫。
1.查詢優化
確認你的查詢是否充分利用到了索引,用explain命令查看一下查詢執行的情況,添加必要的索引,避免掃表操作。
2.搞清你的熱數據大小
可能你的數據集非常大,但是這并不那么重要,重要的是你的熱數據集有多大,你經常訪問的數據有多大(包括經常訪問的數據和所有索引數據)。使用MongoDB,你最好保證你的熱數據在你機器的內存大小之下,保證內存能容納所有熱數據。
3.選擇正確的文件系統
MongoDB的數據文件是采用的預分配模式,并且在Replication里面,Master和Replica Sets的非Arbiter節點都是會預先創建足夠的空文件用以存儲操作日志。這些文件分配操作在一些文件系統上可能會非常慢,導致進程被Block。所以我們應該選擇那些空間分配快速的文件系統。這里的結論是盡量不要用ext3,用ext4或者xfs。
4.選擇合適的硬盤
這里的選擇包括了對磁盤RAID的選擇,也包括了磁盤與SSD的對比選擇。
5.Shard分片
在單個節點壓力太大時,我們可以考慮使用MongoDB的auto-sharding機制來將數據分片到多個節點以緩解壓力。
下面就是其視頻和PPT(PPT由NoSQLFan從視頻上截取下來,比較模糊,哪位同學有高清的可以提供給我們,非常感謝!)
【編輯推薦】