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