閱讀584 返回首頁    go 阿裏雲 go 技術社區[雲棲]


MongoDB優化

MongoDB 3.4

學生黨上周有幸參與某公司的MongoDB測試,算是一次實戰吧,結合網上的內容和自己的體會總結了以下幾點優化:


1. 開啟profile,這個可以監控執行慢的語句,這樣可以分析哪些語句執行較慢;


2. 善用mongo提供的工具,如mongostat、mongoCompass等


3. 對於執行慢的語句執行explain,更加具體的分析查詢信息、查詢統計、使用索引等。


4. 創建索引,但是索引不宜創建過多,我們曾嚐試建立十個索引,結果插入速度從2萬下降到6000,維護索引代價也不小,建議建立複合索引和稀疏索引。另外,索引本身是有限製的。集合中索引不能超過64個,索引長度不能超過128個字符,複合索引最多用31個字段。


5. 如果不是強一致可以考慮讀寫分離,https://docs.mongodb.com/manual/reference/read-preference/

   shell下可以在配置複製集最後使用rs.slaveOK()(官方已不推薦使用)或db.getMongo().setReadPref(prefStrategy),

   https://docs.mongodb.com/manual/reference/method/js-replication/

   https://docs.mongodb.com/manual/reference/method/Mongo.setReadPref/#Mongo.setReadPref


6. 優化設計


7. 盡量避免全表掃描操作

最後更新:2017-05-29 11:31:51

  上一篇:go  如何在阿裏雲一鍵部署高可用的Kubernetes集群
  下一篇:go  MongoDB(3)——Index的創建流程1