MongoDB性能优化“五部曲”-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

MongoDB性能优化“五部曲”

sunny夏筱 2015-10-22 11:27:43 7591
         MongoDB 一直是最流行的 NoSQL,而根据 DB-Engines Ranking 最新的排行,时下 MongoDB 已经击败 PostgreSQL 跃居数据库总排行的第四位,仅次于 Oracle、MySQL 和 Microsoft SQL Server,偶然看到OneAPM 工程师整理的 如何对 MongoDB 进行性能调优的文章,值得一读
            
         大家在使用 MongoDB 的时候有没有碰到过性能问题呢?这里总结了 MongoDB 性能优化的五个步骤,希望能够有所帮助。
  
第一步:找出慢语句


一般来说查询语句太慢和性能问题瓶颈有着直接的关系,所以可以用 MongoDB 的性能分析工具来找出这些慢语句:
db.setProfilingLevel(1, 100);


第二步:使用 explain 分析

通过使用 explain 来对这些慢语句进行诊断。此外还可以 mtools 来分析日志


第三步:创建索引


分析完之后需要创建新的索引 (index) 来提升查询的性能。别忘了在 MondoDB 中可以在后台创建索引以避免 collections 锁和系统崩溃。


第四步:使用稀疏索引来减少空间占用


如果使用 sparse documents,并重度使用关键字 $exists,可以使用 sparse indexes 来减少空间占用提升查询的性能。


第五步:读写分离


如果读写都在主节点的话,从节点就一直处在空置状态,这是一种浪费。对于报表或者搜索这种读操作来说完全可以在从节点实现,因此要做的是在 connection string 中设置成 secondarypreferred。


mongo优化 mongo性能优化 mongo性能 odb性能 one优化
分享到
取消 提交回答
全部回答(4)
  • falsefalse
    2015-11-04 14:52:26
    ReMongoDB性能优化“五部曲”
          
    0 0
  • 宝保森
    2015-10-27 14:41:24
    ReMongoDB性能优化“五部曲”
    感谢楼主分享!
    0 0
  • apm
    2015-10-23 09:43:13
    ReMongoDB性能优化“五部曲”
    不错,以前没想到Mongodb也会出现性能问题
    0 0
  • 妙正灰
    2015-10-22 12:11:36
    我还是比较喜欢mysql和pg
    0 0
添加回答
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

相似问题
最新问题
推荐课程