可以根据如下URL获得mongodb当前的运行状况:
http://ip:28017/
mongodb性能优化:
http://lgone.com/html/y2010/774.html
http://www.mongodb.org/display/DOCS/Database+Profiler
mongodb运行状况:
mongostat命令
mongodb日志:/data/mongodb_data/mongodb.log
经常监控mongodb.log,能够发现mongodb中存在的一些问题,比如,如果日志中大量出现类似:
Fri Jan 14 12:47:36 [conn5572] info DFM::findAll(): extent 6:19e07300 was empty, skipping ahead
可以使用db.collection_name.reIndex()命令重建索引就可以
如何对索引进行管理?
http://www.mongodb.org/display/DOCS/Indexes#Indexes-IndexPerformance
mongodb监控:http://www.mongodb.org/display/DOCS/Monitoring+and+Diagnostics
其中有介绍如何记录下对mongodb的写操作和读操作,以便进行分析
mongosniff可以从底层监控到底有哪些命令发送给了mongodb去执行,从中就可以进行分析:
http://www.mongodb.org/display/DOCS/mongosniff
设计合理的数据结构,应用架构以及业务逻辑.
合理使用索引
如,当需要返回的记录数比扫描的记录数少得多时,结合collection的读写场景,考虑是否使用索引。
限制输出结果
当需要返回的结果集非常大时,如无必要,考虑使用limit限制输出.
仅仅选择需要输出的列
返回结果应该只包含需要返回的列,而不是所有列.这样的话可以减少返回的字节数,节约带宽.
$inc使用
当更新的记录中存在需要增加或减少的字段时,考虑使用$inc,效率比去除记录,更新记录再插回去会高很多.
> db.test.insert({"a":1})
> db.test.update({"a" : 1},{"$inc" : {"a" : 1}})
> db.test.find()
{ "_id" : ObjectId("4d297bfff59946c5070b2504"), "a" : 2 }
> db.test.update({"a" : 2},{"$inc" : {"a" : -1}})
> db.test.find()
{ "_id" : ObjectId("4d297bfff59946c5070b2504"), "a" : 1 }
capped collection合理使用
读写效率都还可以,并且严格$natural.
服务端代码合理使用
使用服务端代码可以减少网络消耗(类似传统数据库的函数和存储过程),提高效率.
使用profile分析:
mongoDB的profile是分析数据库热点,优化数据库的非常好用的功能
优化count()
count()和offset()都是数据库杀手,建索引是很有必要的(尽量减少scan)。
explain()和hint()
对于profile得到的执行代码,使用explain分析,必要时可以使用hint()强制索引或全表扫描.
分享到:
相关推荐
MongoDB性能调优是一门深入的技术领域,它关注的是如何让MongoDB数据库运行得更加高效和稳定。在基于MongoDB的Ops Manager(MMS)上进行性能调优,能够让用户通过一系列监控指标分析出MongoDB性能问题的根本原因,并...
MongoDB性能调优 MongoDB 作为一种 Nosql 数据库,在网站开发中应用越来越广泛。然而,MongoDB 的性能调优是一件非常重要的事情。本文将描述如何对 MongoDB 进行性能调优,提高 MongoDB 的查询效率和执行速度。 ...
MongoDB性能调优是数据库管理中一个非常关键的方面,尤其在面对大量的数据和复杂查询的时候。对执行计划的理解和分析是优化查询性能的关键步骤。在深入探讨之前,我们需要对一些基础概念有一个清晰的理解。 首先,...
"MongoDB集群性能优化实践" 本文档主要介绍了MongoDB集群性能优化实践,涵盖了从 MongoDB 集群优化到解决方案的分享。通过本文档,我们可以了解到 MongoDB 集群性能优化的重要性,并学习到实际的解决方案。 知识点...
本文将基于提供的标题、描述和部分内容,深入探讨MongoDB性能调优的关键知识点。 #### 一、理解MongoDB性能瓶颈 在进行MongoDB性能调优之前,首先需要理解可能遇到的性能瓶颈。这些瓶颈通常可以分为以下几个方面:...
高性能可扩展mysql Mysql视频教程 mongodb视频教程 oracle视频教程, ...主要讲解了以上三种当前主流数据库的高级知识,侧重于数据库调优的高级技能,对于开发高性能/并发网站的学习朋友应该有所帮助。
本文将通过 24 道面试题,涵盖 MongoDB 的基本概念、数据模型、查询语言、索引、事务、安全、性能调优等方面,帮助读者更好地理解和掌握 MongoDB。 Nosql 数据库概述 NoSQL 数据库是一种非关系型数据库,擅长处理...
MongoDB数据库
MongoDB是一个基于文档的NoSQL数据库,由C++语言编写,旨在为大量分布式数据提供高性能、高可用性和高灵活性的数据存储解决方案。MongoDB的主要特点包括: 1. **文档导向**:MongoDB存储BSON(二进制JSON)格式的...
MongoDB性能调优涉及到多个方面,如查询优化、索引调整、内存使用和磁盘I/O优化等。开发者需要不断监测数据库性能,根据监测结果调整配置和设计,从而确保数据库的高性能运行。 知识点十:查询优化 查询优化是提高...
七、MongoDB性能调优 1. 内存管理:调整工作集大小,确保数据尽可能在内存中。 2. 日志管理:合理设置日志级别,平衡性能和日志记录需求。 3. 网络优化:如使用更快的网络设备,优化网络配置。 八、安全性 1. 认证...
九、MongoDB性能调优 优化MongoDB性能涉及多个方面,包括选择合适的硬件、调整内存大小、设置适当的缓存策略、监控性能指标并进行分析等。 通过阅读"mongodb操作文档.pdf"和"mongo数据库运维手册_ubutu.pdf",你将...
MongoDB 是一个流行的开源、分布式文档数据库,以其灵活性、高性能和易用性而备受开发者青睐。在使用 MongoDB 构建高性能应用时,了解并实践性能优化策略至关重要。本篇文章将深入探讨 MongoDB 的性能最佳实践,旨在...
MongoDB提供了多种内置工具帮助用户监控数据库的状态,这些工具对于性能调优至关重要。下面详细介绍几种常用的监控工具。 ##### 1. Mongotop Mongotop是一款命令行工具,用于实时监控MongoDB实例上的活动。它可以...
在本资源"数据库系统概论及性能调优"中,我们将会深入探讨数据库的基本概念、架构以及如何通过优化来提升其性能。 首先,数据库系统的核心是数据模型,包括关系型数据库(如MySQL、Oracle)、非关系型数据库(如...
数据库开发、维护、性能调优、备份还原以及解决复杂问题,这些都是数据库管理中不可或缺的关键环节。在IT领域,数据库作为存储和管理数据的核心系统,其高效稳定运行对于业务连续性和数据安全性至关重要。以下是对...
本篇文章将深入探讨MongoDB性能优化的相关知识点,帮助你提升数据库的运行效率。 一、索引优化 1. 创建合适索引:索引是提高查询速度的关键。针对查询频繁的字段创建单字段或复合索引,可以显著提升查询性能。例如...
sysbench-mongo 对于 MongoDB 性能调优和监控非常有用,尤其是在大型分布式系统中,通过其提供的详尽性能数据,可以有效地优化数据库配置、提升系统整体性能。作为 JavaScript 开发者,了解如何使用 sysbench-mongo ...
课程内容包括了JVM性能调优专题,Tomcat性能优化实战,MySQL深度优化,并发编程,源码框架专题,分布式缓存技术Redis,分布式协调任务ZooKeeper,分布式协调任务ZooKeeper,Kafka mongodb sharding-sphere,Netty...