MongoDB 一直是最流行的 NoSQL,而根據 DB-Engines Ranking 最新的排行,時下 MongoDB 已經擊敗 PostgreSQL 躍居數據庫總排行的第四位,僅次於 Oracle、MySQL 和 Microsoft SQL Server,此文中總結了如何對 MongoDB 進行性能調優.
大家在使用MongoDB的時候有沒有碰到過性能問題呢?這裡總結了MongoDB性能優化的五個步驟,希望能夠有所幫助。
第一步:找出慢語句
一般來說查詢語句太慢和性能問題瓶頸有著直接的關系,所以可以用MongoDB的性能分析工具來找出這些慢語句:
db.setProfilingLevel(1, 100);
第二步:使用explain分析
通過使用explain來對這些慢語句進行診斷。此外還可以mtools來分析日志。
第三步:創建索引
分析完之後需要創建新的索引(index)來提升查詢的性能。別忘了在MondoDB中可以在後台創建索引以避免collections 鎖和系統崩潰。
第四步:使用稀疏索引來減少空間占用
如果使用sparse documents,並重度使用關鍵字$exists,可以使用sparse indexes來減少空間占用提升查詢的性能。
第五步:讀寫分離
如果讀寫都在主節點的話,從節點就一直處在空置狀態,這是一種浪費。對於報表或者搜索這種讀操作來說完全可以在從節點實現,因此要做的是在connection string中設置成secondarypreferred。
小總結
這些方法雖然能夠起一定的作用,但最主要的目的還是為架構上的提升爭取點時間罷了。
好了,以上所述就是本文的全部內容,希望對大家學習MongoDB 進行性能優化有所幫助。