如何對 MongoDB 進(jìn)行性能優(yōu)化(五個簡單步驟)
MongoDB 一直是最流行的 NoSQL,而根據(jù) DB-Engines Ranking 最新的排行,時下 MongoDB 已經(jīng)擊敗 PostgreSQL 躍居數(shù)據(jù)庫總排行的第四位,僅次于 Oracle、MySQL 和 Microsoft SQL Server,此文中總結(jié)了如何對 MongoDB 進(jìn)行性能調(diào)優(yōu).
大家在使用MongoDB的時候有沒有碰到過性能問題呢?這里總結(jié)了MongoDB性能優(yōu)化的五個步驟,希望能夠有所幫助。
第一步:找出慢語句
一般來說查詢語句太慢和性能問題瓶頸有著直接的關(guān)系,所以可以用MongoDB的性能分析工具來找出這些慢語句:
db.setProfilingLevel(1, 100);
第二步:使用explain分析
通過使用explain來對這些慢語句進(jìn)行診斷。此外還可以mtools來分析日志。
第三步:創(chuàng)建索引
分析完之后需要創(chuàng)建新的索引(index)來提升查詢的性能。別忘了在MondoDB中可以在后臺創(chuàng)建索引以避免collections 鎖和系統(tǒng)崩潰。
第四步:使用稀疏索引來減少空間占用
如果使用sparse documents,并重度使用關(guān)鍵字$exists,可以使用sparse indexes來減少空間占用提升查詢的性能。
第五步:讀寫分離
如果讀寫都在主節(jié)點的話,從節(jié)點就一直處在空置狀態(tài),這是一種浪費。對于報表或者搜索這種讀操作來說完全可以在從節(jié)點實現(xiàn),因此要做的是在connection string中設(shè)置成secondarypreferred。
小總結(jié)
這些方法雖然能夠起一定的作用,但最主要的目的還是為架構(gòu)上的提升爭取點時間罷了。
好了,以上所述就是本文的全部內(nèi)容,希望對大家學(xué)習(xí)MongoDB 進(jìn)行性能優(yōu)化有所幫助。
相關(guān)文章
解決MongoDB6.0報錯:"mongo"不是內(nèi)部或外部命令,也不是可運行的程序或批處理文件
這篇文章主要給大家介紹了關(guān)于解決MongoDB6.0報錯:"mongo"不是內(nèi)部或外部命令,也不是可運行的程序或批處理文件的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-05-05MongoDB系列教程(三):Windows中下載和安裝MongoDB
這篇文章主要介紹了MongoDB系列教程(三):MongoDB下載和安裝,本文講解使用Windows環(huán)境安裝MongoDB,需要的朋友可以參考下2015-05-05express使用Mongoose連接MongoDB操作示例【附源碼下載】
這篇文章主要介紹了express使用Mongoose連接MongoDB操作,結(jié)合實例形式分析了express使用Mongoose連接MongoDB的具體步驟與相關(guān)實現(xiàn)技巧,并附帶源碼供讀者下載參考,需要的朋友可以參考下2019-07-07Centos 7下Mongodb開機(jī)無法自啟動的解決方法
這篇文章主要介紹了Centos 7下Mongodb開機(jī)無法自啟動的解決方法,文中介紹的非常詳細(xì),對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。2017-03-03MongoDB的mongo shell常用操作方法及操作腳本筆記
mongo shell即相當(dāng)于SQL語句在關(guān)系型數(shù)據(jù)庫中的作用,MongoDB使用JavaScript作為shell操作命令,這里我們就來整理MongoDB的mongo shell常用操作方法及操作腳本筆記2016-07-07