MongoDB 性能优化五个简单步骤

时间:2021-09-18 08:38:06

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

大家在使用 MongoDB 的时候有没有碰到过性能问题呢?这里总结了 MongoDB 性能优化的五个步骤,希望能够有所帮助。

第一步:找出慢语句

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

db.setProfilingLevel(1, 100);

第二步:使用 explain 分析

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

第三步:创建索引

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

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

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

第五步:读写分离

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

小结

这些方法虽然能够起一定的作用,但最主要的目的还是为架构上的提升争取点时间罢了。

原文链接:5 Steps to Take Care of Your MongoDB Performance

OneAPM 是应用性能管理领域的新兴领军企业,能帮助企业用户和开发者轻松实现:缓慢的程序代码和 SQL 语句的实时抓取。想阅读更多技术文章,请访问 OneAPM 官方博客