天天看點

MongoDB最佳實踐及性能優化(DTCC中國資料庫技術大會分享PPT)

mongodb

上周五在北京dtcc分享了「32 tips to boost mongodb performance」,本文是分享的ppt以及重要内容的注解。

MongoDB最佳實踐及性能優化(DTCC中國資料庫技術大會分享PPT)
MongoDB最佳實踐及性能優化(DTCC中國資料庫技術大會分享PPT)
MongoDB最佳實踐及性能優化(DTCC中國資料庫技術大會分享PPT)
MongoDB最佳實踐及性能優化(DTCC中國資料庫技術大會分享PPT)

注解:本次分享主要「自底向上」的介紹提升 mongodb 服務性能需要注意的問題,從硬體、作業系統、服務端一直到應用端,前面3個層次的建議主要面向dba及運維人員,而最上層的應用開發建議主要面向開發者。

MongoDB最佳實踐及性能優化(DTCC中國資料庫技術大會分享PPT)
MongoDB最佳實踐及性能優化(DTCC中國資料庫技術大會分享PPT)

注解: 硬體選型方面,在不差錢的前提下肯定是越牛逼越好;對于大部分資料庫應用來說,瓶頸可能最先出現在io上,是以從機械硬碟到ssd的硬體提升通常是效果最明顯的。

MongoDB最佳實踐及性能優化(DTCC中國資料庫技術大會分享PPT)

注解:資料庫随機通路的模式較多,建議關閉thp、numa、readahead等特性,不排除這些特性可能在某些特定場景上能有性能提升,如果要開啟請一定先做下對比測試。

MongoDB最佳實踐及性能優化(DTCC中國資料庫技術大會分享PPT)

注解:wiredtiger引擎在鎖粒度、資料壓縮上的支援遠超mmapv1,從mmapv1更新到wiredtiger引擎,通常會帶來存儲成本的降低,以及性能的提升。

MongoDB最佳實踐及性能優化(DTCC中國資料庫技術大會分享PPT)

注解:生産環境建議一定使用3節點的mongodb複制集,如果是寫(尤其是更新、删除)密集型的應用,可以考慮講oplog設定更大點(預設為磁盤空間5%)。

MongoDB最佳實踐及性能優化(DTCC中國資料庫技術大會分享PPT)

注解:mongodb sharding 能實作資料庫的水準擴充,但其相比複制集運維管理上更加複雜,建議隻有在真正需要(擴充寫入能力、擴充存儲容量、降低當個分片故障時的影響)的時候才考慮使用sharding。

MongoDB最佳實踐及性能優化(DTCC中國資料庫技術大會分享PPT)

注解:選擇shard key時,主要考慮key的「離散度」以及「頻率」,離散度越高越好,能更好的分散資料;頻率越低越好,避免出現熱點;實際選擇時,要結合查詢需求來确定,最滿足業務需求的才是最好的。

MongoDB最佳實踐及性能優化(DTCC中國資料庫技術大會分享PPT)

注解:sharding預設會自動在shard間進行資料遷移,如果遷移對線上通路有性能沖擊,可以設定遷移視窗期,比如隻在淩晨「1:00 - 6:00」來做資料遷移。

MongoDB最佳實踐及性能優化(DTCC中國資料庫技術大會分享PPT)

注解:慢請求對定位性能問題非常有幫助,建議線上業務都開啟,并設定合理的門檻值,預設為100ms。

MongoDB最佳實踐及性能優化(DTCC中國資料庫技術大會分享PPT)

注解:監控對任何線上業務都必不可少,監控的資訊能讓你充分了解線上服務的運作狀态。

MongoDB最佳實踐及性能優化(DTCC中國資料庫技術大會分享PPT)

注解:很多場景下,資料備份是最後一根救命稻草,有備無患,建議資料庫一定做好備份。

MongoDB最佳實踐及性能優化(DTCC中國資料庫技術大會分享PPT)
MongoDB最佳實踐及性能優化(DTCC中國資料庫技術大會分享PPT)
MongoDB最佳實踐及性能優化(DTCC中國資料庫技術大會分享PPT)
MongoDB最佳實踐及性能優化(DTCC中國資料庫技術大會分享PPT)
MongoDB最佳實踐及性能優化(DTCC中國資料庫技術大會分享PPT)
MongoDB最佳實踐及性能優化(DTCC中國資料庫技術大會分享PPT)
MongoDB最佳實踐及性能優化(DTCC中國資料庫技術大會分享PPT)
MongoDB最佳實踐及性能優化(DTCC中國資料庫技術大會分享PPT)
MongoDB最佳實踐及性能優化(DTCC中國資料庫技術大會分享PPT)
MongoDB最佳實踐及性能優化(DTCC中國資料庫技術大會分享PPT)
MongoDB最佳實踐及性能優化(DTCC中國資料庫技術大會分享PPT)
MongoDB最佳實踐及性能優化(DTCC中國資料庫技術大會分享PPT)
MongoDB最佳實踐及性能優化(DTCC中國資料庫技術大會分享PPT)
MongoDB最佳實踐及性能優化(DTCC中國資料庫技術大會分享PPT)
MongoDB最佳實踐及性能優化(DTCC中國資料庫技術大會分享PPT)
MongoDB最佳實踐及性能優化(DTCC中國資料庫技術大會分享PPT)