MongoDB 效能優化五個簡單步驟

OneAPM官方技術部落格發表於2015-10-10

MongoDB 一直是最流行的 NoSQL,而根據 DB-Engines Ranking 最新的排行,時下 MongoDB 已經擊敗 PostgreSQL 躍居資料庫總排行的第四位,僅次於 Oracle、MySQL 和 Microsoft SQL Server,此文中總結了如何對 MongoDB 進行效能調優,本文系 OneAPM 工程師編譯整理。

大家在使用 MongoDB 的時候有沒有碰到過效能問題呢?這裡總結了 MongoDB 效能優化的五個步驟,希望能夠有所幫助。

第一步:找出慢語句

一般來說查詢語句太慢和效能問題瓶頸有著直接的關係,所以可以用 MongoDB 的效能分析工具來找出這些慢語句:

db.setProfilingLevel(1, 100);

第二步:使用 explain 分析

通過使用 explain 來對這些慢語句進行診斷。此外還可以 mtools 來分析日誌。

第三步:建立索引

分析完之後需要建立新的索引 (index) 來提升查詢的效能。別忘了在 MondoDB 中可以在後臺建立索引以避免 collections 鎖和系統崩潰。

第四步:使用稀疏索引來減少空間佔用

如果使用 sparse documents,並重度使用關鍵字 $exists,可以使用 sparse indexes 來減少空間佔用提升查詢的效能。

第五步:讀寫分離

如果讀寫都在主節點的話,從節點就一直處在空置狀態,這是一種浪費。對於報表或者搜尋這種讀操作來說完全可以在從節點實現,因此要做的是在 connection string 中設定成 secondarypreferred。

小結

這些方法雖然能夠起一定的作用,但最主要的目的還是為架構上的提升爭取點時間罷了。

原文連結:5 Steps to Take Care of Your MongoDB Performance

OneAPM 是應用效能管理領域的新興領軍企業,能幫助企業使用者和開發者輕鬆實現:緩慢的程式程式碼和 SQL 語句的實時抓取。想閱讀更多技術文章,請訪問 OneAPM 官方部落格

相關文章