MongoDB优化

MongoDB 3.4

学生党上周有幸参与某公司的MongoDB测试,算是一次实战吧,结合网上的内容和自己的体会总结了以下几点优化:

1. 开启profile,这个可以监控执行慢的语句,这样可以分析哪些语句执行较慢;

2. 善用mongo提供的工具,如mongostat、mongoCompass等

3. 对于执行慢的语句执行explain,更加具体的分析查询信息、查询统计、使用索引等。

4. 创建索引,但是索引不宜创建过多,我们曾尝试建立十个索引,结果插入速度从2万下降到6000,维护索引代价也不小,建议建立复合索引和稀疏索引。另外,索引本身是有限制的。集合中索引不能超过64个,索引长度不能超过128个字符,复合索引最多用31个字段。

5. 如果不是强一致可以考虑读写分离,https://docs.mongodb.com/manual/reference/read-preference/

   shell下可以在配置复制集最后使用rs.slaveOK()(官方已不推荐使用)或db.getMongo().setReadPref(prefStrategy),

   https://docs.mongodb.com/manual/reference/method/js-replication/

   https://docs.mongodb.com/manual/reference/method/Mongo.setReadPref/#Mongo.setReadPref

6. 优化设计

7. 尽量避免全表扫描操作

时间: 2024-08-22 15:25:02

MongoDB优化的相关文章

浅析Mongodb性能优化的相关问题_MongoDB

前言 如何能让软件拥有更高的性能?我想这是一个大部分开发者都思考过的问题.性能往往决定了一个软件的质量,如果你开发的是一个互联网产品,那么你的产品性能将更加受到考验,因为你面对的是广大的互联网用户,他们可不是那么有耐心的.严重点说,页面的加载速度每增加一秒也许都会使你失去一部分用户,也就是说,加载速度和用户量是成反比的.那么用户能够接受的加载速度到底是多少呢? 如图,如果页面加载时间超过10s那么用户就会离开,如果1s–10s的话就需要有提示,但如果我们的页面没有提示的话需要多快的加载速度呢?是

MongoDB查询性能优化验证及验证_MongoDB

结论: 1. 200w数据,合理使用索引的情况下,单个stationId下4w数据.mongodb查询和排序的性能理想,无正则时client可以在600ms+完成查询,qps300+.有正则时client可以在1300ms+完成查询,qps140+. 2. Mongodb的count性能比较差,非并发情况下client可以在330ms完成查询,在并发情况下则需要1-3s.可以考虑估算总数的方法,http://blog.sina.com.cn/s/blog_56545fd30101442b.htm

MongoDB性能优化及监控_MongoDB

MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的. 一.索引 MongoDB 提供了多样性的索引支持,索引信息被保存在system.indexes 中,且默认总是为_id创建索引,它的索引使用基本和MySQL 等关系型数据库一样.其实可以这样说说,索引是凌驾于数据存储系统之上的另一层系统,所以各种结构迥异的存

为首次部署MongoDB做好准备:容量计划和监控

如果你已经完成了自己新的MongoDB应用程序的开发,并且现在正准备将它部 署进产品中,那么你和你的运营团队需要讨论一些关键的问题: 最佳部署实践是什么? 为了确保应用程序满足它所必须的服务层次我们需要监控哪些关键指标? 如何能够确定添加分片的时机? 有哪些工具可以对数据库进行备份和恢复? 怎样才能安全地访问所有新的实时大数据? 本文介绍了硬件选择.扩展.HA和监控.在查看详细信息之前,首先让我们处 理一个最常见的问题: 部署MongoDB和部署RDBMS有什么不同? 你会发现MongoDB作为

MongoDB资料汇总

与大家共勉~ 1.MongoDB是什么 MongoDB介绍PPT分享 MongoDB GridFS介绍PPT两则 初识 MongoDB GridFS MongoDB GridFS 介绍 一个NoSQL与MongoDB的介绍PPT MongoDB:下一代MySQL? 写给Python程序员的MongoDB介绍 又一篇给Python程序员的MongoDB教程 MongoDB源码研究系列文章 白话MongoDB系列文章 MongoDB Tailable Cursors 特性介绍 MongoDB 文档阅

时间序列数据处理的角逐:MongoDB vs. Cassandra

http://www.aliyun.com/zixun/aggregation/13461.html">MongoDB与Cassandra是两个最具人气的NoSQL数据库,MongoDB更是NoSQL领域当之无愧的人气王,而Cassandra则常年霸占着列存储领域的首席,相比之下备受关注的HBase却因众多原因一直屈居次席.近日MyDrive Soulutions运营和架构总监分享了这两个人气NoSQL数据库在其公司的实践,并给出了相关对比,以下为译文:                  

MongoDB最佳实践及性能优化(DTCC中国数据库技术大会分享PPT)

云数据库 MongoDB 版 基于飞天分布式系统和高性能存储,提供三节点副本集的高可用架构,容灾切换,故障迁移完全透明化.并提供专业的数据库在线扩容.备份回滚.性能优化等解决方案. 了解更多 上周五在北京DTCC分享了「32 Tips to Boost MongoDB Performance」,本文是分享的PPT以及重要内容的注解. 注解:本次分享主要「自底向上」的介绍提升 MongoDB 服务性能需要注意的问题,从硬件.操作系统.服务端一直到应用端,前面3个层次的建议主要面向DBA及运维人员,

MongoDB · 最佳实践 · 短连接Auth性能优化

问题 通常我们使用MongoDB的时候,客户端(driver)和MongoDB之间都是使用长连接,但是在某些场景下.某些driver仍然只能使用短连接进行连接,比如PHP.就在我们阿里云数据库MongoDB版商业化后没多久,我们就遇到了一个用户短连接过多导致的性能问题. 这个问题的症状是MongoD的CPU使用率居高不下,16个核都跑满了,影响到了用户的正常使用. 排查 首先想到的当然是看看有没有很多慢查询,针对存在的慢查询都建议用户建了索引后,情况还是没有好转.这时我们观察到用户的driver

MongoDB短连接Auth性能优化

通常我们使用MongoDB的时候,客户端(driver)和MongoDB之间都是使用长连接,但是在某些场景下.某些driver仍然只能使用短连接进行连接,比如PHP.就在我们阿里云数据库MongoDB版商业化后没多久,我们就遇到了一个用户短连接过多导致的性能问题. 问题 这个问题的症状是MongoD的CPU使用率居高不下,16个核都跑满了,影响到了用户的正常使用. 排查 首先想到的当然是看看有没有很多慢查询,针对存在的慢查询都建议用户建了索引后,情况还是没有好转.这时我们观察到用户的driver