摘要:大家在使用的時(shí)候有沒(méi)有碰到過(guò)性能問(wèn)題呢這里總結(jié)了性能優(yōu)化的五個(gè)步驟,希望能夠有所幫助。第四步使用稀疏索引來(lái)減少空間占用如果使用,并重度使用關(guān)鍵字,可以使用來(lái)減少空間占用提升查詢的性能。
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),本文系 OneAPM 工程師編譯整理。
大家在使用 MongoDB 的時(shí)候有沒(méi)有碰到過(guò)性能問(wèn)題呢?這里總結(jié)了 MongoDB 性能優(yōu)化的五個(gè)步驟,希望能夠有所幫助。
第一步:找出慢語(yǔ)句
一般來(lái)說(shuō)查詢語(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)提升查詢的性能。別忘了在 MondoDB 中可以在后臺(tái)創(chuàng)建索引以避免 collections 鎖和系統(tǒng)崩潰。
第四步:使用稀疏索引來(lái)減少空間占用
如果使用 sparse documents,并重度使用關(guān)鍵字 $exists,可以使用 sparse indexes 來(lái)減少空間占用提升查詢的性能。
第五步:讀寫(xiě)分離
如果讀寫(xiě)都在主節(jié)點(diǎn)的話,從節(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í)間罷了。
原文鏈接:5 Steps to Take Care of Your MongoDB Performance
OneAPM 是應(yīng)用性能管理領(lǐng)域的新興領(lǐng)軍企業(yè),能幫助企業(yè)用戶和開(kāi)發(fā)者輕松實(shí)現(xiàn):緩慢的程序代碼和 SQL 語(yǔ)句的實(shí)時(shí)抓取。想閱讀更多技術(shù)文章,請(qǐng)?jiān)L問(wèn) OneAPM 官方博客。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/18802.html
摘要:年月日本文是關(guān)于記錄某次游戲服務(wù)端的性能優(yōu)化此處涉及的技術(shù)包括引擎隨著游戲?qū)肴藬?shù)逐漸增加單個(gè)集合的文檔數(shù)已經(jīng)超過(guò)經(jīng)常有玩家反饋說(shuō)卡特別是在服務(wù)器遷移后從核降到核卡頓更嚴(yán)重了遂開(kāi)始排查問(wèn)題確認(rèn)服務(wù)器壓力首先使用命令查看總體情況此時(shí)占用不高 Last-Modified: 2019年6月13日11:08:19 本文是關(guān)于記錄某次游戲服務(wù)端的性能優(yōu)化, 此處涉及的技術(shù)包括: MongoDB...
摘要:年月日本文是關(guān)于記錄某次游戲服務(wù)端的性能優(yōu)化此處涉及的技術(shù)包括引擎隨著游戲?qū)肴藬?shù)逐漸增加單個(gè)集合的文檔數(shù)已經(jīng)超過(guò)經(jīng)常有玩家反饋說(shuō)卡特別是在服務(wù)器遷移后從核降到核卡頓更嚴(yán)重了遂開(kāi)始排查問(wèn)題確認(rèn)服務(wù)器壓力首先使用命令查看總體情況此時(shí)占用不高 Last-Modified: 2019年6月13日11:08:19 本文是關(guān)于記錄某次游戲服務(wù)端的性能優(yōu)化, 此處涉及的技術(shù)包括: MongoDB...
摘要:雙刃劍的學(xué)習(xí)和避坑是一把雙刃劍,它對(duì)數(shù)據(jù)結(jié)構(gòu)的要求并不高。第二某些銀行顯示的金額不是實(shí)時(shí)的。第三步創(chuàng)建封裝類的管理類,針對(duì)不同的實(shí)體類,需要配置不同的。 雙刃劍MongoDB的學(xué)習(xí)和避坑 MongoDB 是一把雙刃劍,它對(duì)數(shù)據(jù)結(jié)構(gòu)的要求并不高。數(shù)據(jù)通過(guò)key-value的形式存儲(chǔ),而value的值可以是字符串,也可以是文檔。所以我們?cè)谑褂玫倪^(guò)程中非常方便。正是這種方便給我們埋下了一顆顆...
摘要:摘要操作步驟很多,但是可以有效減少磁盤(pán)使用量。關(guān)于操作,我列了幾個(gè)簡(jiǎn)單的。操作效果怎么樣減少了接近的磁盤(pán)空間,這個(gè)大小應(yīng)該與被刪除的文檔數(shù)量有關(guān)。操作步驟由于操作會(huì)阻塞的讀寫(xiě)操作,因此應(yīng)該對(duì)每個(gè)節(jié)點(diǎn)依次進(jìn)行操作。 摘要: compact操作步驟很多,但是可以有效減少磁盤(pán)使用量。 showImg(https://segmentfault.com/img/bV5PFN?w=800&h=45...
閱讀 4012·2021-11-18 13:22
閱讀 1831·2021-11-17 09:33
閱讀 2886·2021-09-26 09:46
閱讀 1220·2021-08-21 14:11
閱讀 2896·2019-08-30 15:53
閱讀 2717·2019-08-30 15:52
閱讀 1915·2019-08-30 10:52
閱讀 1528·2019-08-29 15:30