1、在生产环境中至少需要三个节点的复制集架构。

2、在多数的场景中WT引擎比MMAPv1更加出色。

3、要想达到极致的速度,那么一定要给MongoDB足够的内存。

4、避免使用短链接,充分利用连接池,它可以有效地提高效率和减少无效的内存损耗。

5、大量写场景中。适当调低wiredTiger cache并调整eviction配置可以有效提高效率。

6、MongoDB中的大部分磁盘访问模式是随机写入,因此SSD和PCIE可以提高其性能。

7、系统层面,尽量使用EXT4或XFS,关闭THP、SELinux、NUMA。

8、存储层面,使用RAID-10。

9、时刻借助explain来审视细节的语句。

10、在密集型的线上业务中尽量不要使用MongoDB的MapReduce。

11、避免较大和无线增长的文档,避免使用长字段名,字段名会在各条文档中重复,会消耗空间和内存。

12、避免对低基数的字段数据做索引,同时也要注意索引的顺序。

13、线上添加索引时一定要使用background,这样可以防止对业务造成影响;此外,background建立index时需要避免在同一个DB中进行dropindex操作。

------20191204闪

MongoDB一些应用知识点的更多相关文章

  1. 项目实战(连载):基于Angular2+Mongodb+Node技术实现的多用户博客系统教程(2)

    本章主要讲什么(一句话)?   <项目实战:基于Angular2+Mongodb+Node技术实现的多用户博客系统教程(2)> -- 基于MongoDB的MyBlog数据库知识技术储备(上 ...

  2. MongoDB管理

    前几篇文章都是从开发和使用的角度了解了MongoDB的各个知识点,这篇文章将从MongoDB管理的角度入手,了解MongoDB管理所要了解的基本知识. 数据库命令 在前面几篇文章中,已经接触了一些数据 ...

  3. MongoDB数据库初探 --- 认识与安装 && Mongoose安装

    注意: monogdb数据在使用之后必须及时 mongodb.close()否则后台崩溃. 第一部分: MySQL数据库是关系型数据库,但是使用node开发时多用MongoDB数据库,两者各有优势,所 ...

  4. 孤荷凌寒自学python第五十八天成功使用python来连接上远端MongoDb数据库

    孤荷凌寒自学python第五十八天成功使用python来连接上远端MongoDb数据库 (完整学习过程屏幕记录视频地址在文末) 今天是学习mongoDB数据库的第四天.今天的感觉是,mongoDB数据 ...

  5. [MongoDB知识体系] 一文全面总结MongoDB知识体系

    MongoDB教程 - Mongo知识体系详解 本系列将给大家构建MongoDB全局知识体系.@pdai MongoDB教程 - Mongo知识体系详解 知识体系 学习要点 学习资料 官网资料 入门系 ...

  6. 操作MongoDB数据库知识点

    一.命令行操作mongo: 1.开启数据库 mongo 如果启动mongo报以下错误: 运行brew services start mongodb 2.创建数据库并进入实例 use test 3.查看 ...

  7. MongoDB知识点拾遗梳理

    MongoDB数据库安装: >apt-get install mongodb 0.MongoDB状态查看.启动.停止       >/etc/init.d/mongodb status或s ...

  8. MongoDB 知识点

    左边是mongodb查询语句,右边是sql语句.对照着用,挺方便. db.users.find() select * from users db.users.find({"age" ...

  9. 一个线程知识点, 一个MongoDB的知识点

    //WINForm窗体中切换前后台线程执行任务: protected void RunOnUI(Action action) { Invoke(action); } protected void Ru ...

随机推荐

  1. .NET代码混淆工具NET Reactor - 初学者系列-学习者系列文章

    这几天无事,除了看书,然后就倒腾原来的代码.想起.NET的代码混淆工具软件,所以今天就讲讲这个.NET代码混淆工具. .NET代码混淆工具软件,以前有了解和找过,但是当时需求不大,所以找了下就搁置了. ...

  2. C# MemoryCache学习笔记

    很多情况下需要用到缓存,合理利用缓存一方面可以提高程序的响应速度,同时可以减少对特定资源访问的压力.为了避免每次请求都去访问后台的 资源(例如数据库),一般会考虑将一些更新不是很频繁的.可以重用的数据 ...

  3. PPT导出为图片

    使用Aspose组件导出 Aspose有Aspose.Slides.dll,可以无需安装office,进行读写PPT文件. Aspose可能通过Aspose.Slides.NET安装 简单的导出图片d ...

  4. 实际开发常用的jquey事件类型,并运用到图片相册

    鼠标事件 .click  鼠标单击 .dblclick  鼠标双击 // 单击事件 $("a").click(function(){ $("img").eq($ ...

  5. ungetc--C语言中处理字符串常碰到的问题

    如图,在学习C++速成课的时候发现了这个神奇的函数ungetc(),视频的UP主给的注释是将变量(字符串)中存放的字符退回给stdin输入流.这是什么意思 看UP主的函数 在上面getchar()是用 ...

  6. robotframework报错

    问题一:RobotFramework RIDE在运行测试用例时无法打开谷歌浏览器,原因是1.安装ride时没有安装chromedriver驱动   2.驱动版本与本机浏览器不兼容 解决方法:在pyth ...

  7. linux centos7 非root用户安装源码版docker

    注意:非root用户必须要有sudo权限 一.安装前的准备 1.查看当前主机是否有docker组 若没有输出结果则新建 再次查看,发现已经有了docker组 2.新增拥有sudo权限的用户(若知道ro ...

  8. 为什么要进行初始化(C语言)

    答案:是为了清除被释放的内存中保存的以前程序中留下的垃圾数据.

  9. 【剑指Offer】62、序列化二叉树

    题目描述 请实现两个函数,分别用来序列化和反序列化二叉树 二叉树的序列化是指:把一棵二叉树按照某种遍历方式的结果以某种格式保存为字符串,从而使得内存中建立起来的二叉树可以持久保存.序列化可以基于先序. ...

  10. 聊聊SNMP协议

    注:博主 Chloneda:个人博客 | 博客园 | Github | Gitee | 知乎 本文源链接:https://www.cnblogs.com/chloneda/p/snmp-protoco ...