主页 > 运维运营 > MongoDB >
发布时间:2015-11-08 作者:网络 阅读:218次

MongoDB 一直是最流行的 NoSQL,而根据 DB-Engines Ranking 最新的排行,时下 MongoDB 已经击败 PostgreSQL 跃居数据库总排行的第四位,仅次于 Oracle、MySQL 和 Microsoft SQL Server,此文中总结了如何对 MongoDB 进行性能调优.

第一步:找出慢语句

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

db.setProfilingLevel(1, 100);

第二步:使用explain分析

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

第三步:创建索引

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

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

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

第五步:读写分离

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

关键字词: