MongoDB 一直是最流行的 NoSQL,而根據 DB-Engines Ranking 最新的排行,時下 MongoDB 已經擊敗 PostgreSQL 躍居數據庫總排行的第四位,僅次於 Oracle、MySQL 和 Microsoft SQL Server,此文中總結了如何對 MongoDB 進行性能調優,本文系 OneAPM 工程師編譯整理。html
你們在使用 MongoDB 的時候有沒有碰到過性能問題呢?這裏總結了 MongoDB 性能優化的五個步驟,但願可以有所幫助。mongodb
第一步:找出慢語句數據庫
通常來講查詢語句太慢和性能問題瓶頸有着直接的關係,因此能夠用 MongoDB 的性能分析工具來找出這些慢語句:性能優化
db.setProfilingLevel(1, 100);
第二步:使用 explain 分析架構
經過使用 explain 來對這些慢語句進行診斷。此外還能夠 mtools 來分析日誌。工具
第三步:建立索引性能
分析完以後須要建立新的索引 (index) 來提高查詢的性能。別忘了在 MondoDB 中能夠在後臺建立索引以免 collections 鎖和系統崩潰。優化
第四步:使用稀疏索引來減小空間佔用spa
若是使用 sparse documents,並重度使用關鍵字 $exists,可使用 sparse indexes 來減小空間佔用提高查詢的性能。日誌
第五步:讀寫分離
若是讀寫都在主節點的話,從節點就一直處在空置狀態,這是一種浪費。對於報表或者搜索這種讀操做來講徹底能夠在從節點實現,所以要作的是在 connection string 中設置成 secondarypreferred。
小結
這些方法雖然可以起必定的做用,但最主要的目的仍是爲架構上的提高爭取點時間罷了。
原文連接:5 Steps to Take Care of Your MongoDB Performance
OneAPM 是應用性能管理領域的新興領軍企業,能幫助企業用戶和開發者輕鬆實現:緩慢的程序代碼和 SQL 語句的實時抓取。想閱讀更多技術文章,請訪問 OneAPM 官方博客。