当前位置:首页 > 技术文章 > 正文内容

MongoDB性能优化五个简单步骤(mongodb性能调优)

zonemu3个月前 (08-03)技术文章26

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

第一步:找出慢语句

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

db.setProfilingLevel(1, 100);

第二步:使用explain分析

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

第三步:创建索引

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

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

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

第五步:读写分离

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

小结

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

相关文章

学习ES6- 入门Vue(大量源代码及笔记,带你起飞)

ES6学习网站: https://es6.ruanyifeng.com/箭头函数普通函数//普通函数 this 指向调用时所在的对象(可变) let fn = function fn(a, b) {...

10分钟搞定gitlab-ci自动化部署(gitlab ci 配置)

gitlab-ci 是持续集成工具/自动化部署工具,类似 jenkins。持续集成 是将代码集成到共享存储库并尽可能早地自动构建/测试每个更改的实践 - 通常一天几次。概述在编码完成时都会进行打包发布...

2025最值得入手的AI数据分析工具:奥威BI深度评测报告

一、引言在数字化时代,数据已成为企业决策的重要依据。然而,海量数据的处理与分析往往耗费大量时间与精力。为此,AI数据分析工具应运而生,其中奥威BI作为一款备受瞩目的产品,凭借其强大的功能与智能特性,成...

最快清除数组空值?分享 1 段优质 JS 代码片段!

本内容首发于工粽号:程序员大澈,每日分享一段优质代码片段,欢迎关注和投稿!大家好,我是大澈!本文约 600+ 字,整篇阅读约需 1 分钟。今天分享一段优质 JS 代码片段,用最简洁的代码清除了数组中的...

Hutool JSONUtil巧妙过滤null值:JSON转Map数据清洗的终极方案

Hutool JSONUtil巧妙过滤null值:JSON转Map数据清洗的终极解决方案声明本文中的所有案例代码、配置仅供参考,如需使用请严格做好相关测试及评估,对于因参照本文内容进行操作而导致的任何...

2021系列——JavaScript比较数组的7种方法

本文我会介绍一些基于Property值对数组进行排序的方法,希望这些技巧能够对你2021年的JS代码编写有点点帮助。多多少少在JS中,我们会碰到某种方式来比较两个对象数组并找出差异,当然也可能是比较并...