1、mongostat

查看运行中的mongodb实例的统计信息

重要指标说明:

  • getmore: 通常发生在结果集比较大的查询时,第一个query返回了部分结果,后续的结果是通过getmore来获取的。(反映查询结果的大小)
  • flushs:每秒执行同步将数据写入硬盘的次数。
  • mapped:映射到内存的数据大小,单位是MB。
  • vsize:虚拟内存使用量,单位是MB。
  • res:物理内存使用量,单位是MB。
  • faults:每秒访问失败数(只有linux有),数据被交换出物理内存,放在swap。不要超过100。否则就是机器内存太小,造成频繁swap写入。此时要升级内存或者扩展。
  • locked db:被锁的时间百分比,尽量控制在10%以下。
  • idx miss%:索引不命中所占百分比。如果太高的话就要考虑索引是不是设计不合理。
  • qr|qw:等待读写的队列长度。(mongo负载高时,命令来不及处理,mongo将命令放入队列中)
  • ar|aw:执行读写操作客户端数量。

2、MMS(MongoDB Monitoring Service)

1)安装

rpm -U mongodb-mms-monitoring-agent-2.1.4.51-1.i386.rpm

2)配置

  • 访问https://mms.mongodb.com/settings
  • 选择monitoring agent下对应的os ,按照说明配置即可
  • 完成后启动mms:service mongodb-mms-monitoring-agent start
  • 然后返回页面,进入setup里按照说明进行配置

3、mongodb profile

类似mysql中的慢查询,mongodb的慢查询日志功能

常用查看profile的命令:

db.system.profile.find().sort({$natural:-1})   --查看最新的profile

db.system.profile.find({millis:{$gt:100}}).sort({$natural:-1}).limit(5)   --查看执行时间大于100ms的执行操作,并倒序排序取前5行

主要指标:

  • responseLength:查询返回的长度
  • nscanned:在执行查询操作的时候扫描了多少对象
  • nreturned:从查询中返回的结果对象

分析:

  • 如果nscanned比较大,或者nscanned比nreturned大很多,说明数据库扫描了很多对象才找到目标对象,因此需要为查询条件建立索引。
  • 当返回的结果集很大即responseLength值大时,会是的性能下降,在做find查询时需要添加第二个查询参数,只获取需要显示的字段。

4、explain

执行计划

5、最大连接数

  • db.serverStatus().connections;
  • mongodb的最大连接数 = current数值 + available数值
  • 启动里面可以加参数 --maxCounts=3000

MongoDB性能监控的更多相关文章

  1. 分布式监控系统Zabbix3.4-针对MongoDB性能监控操作笔记

    公司在IDC机房的一台服务器上部署了MongoDB,由于所存储的业务数据比较重要,所以对MongoDB的监控显得尤为重要!Zabbix监控MongoDB性能的原理:通过echo "db.se ...

  2. 011.MongoDB性能监控

    一 MongoDB 监控 1.1 监控概述 MongoDB自带了mongostat 和 mongotop 这两个命令来监控MongoDB的运行情况.这两个命令用于处理MongoDB数据库变慢等等问题非 ...

  3. Mongodb性能调优

    摘要 1. Mongodb 适用场景简介 2. Mongodb 性能监控与分析 3. Mongodb 性能优化建议 关于Mongodb的几个大事件 1.根据美国数据库知识大全官网发布的DB热度排行,M ...

  4. MongoDB 运行状态、性能监控,分析

    这篇文章的目的是让你知道怎么了解你正在运行的Mongdb是否健康.转载自http://tech.lezi.com/archives/290 mongostat详解 启动mongodb监控,通过下面命令 ...

  5. MongoDB运行状态、性能监控,分析

    转载自这位仁兄:地址 mongostat详解 mongostat是mongdb自带的状态检测工具,在命令行下使用.它会间隔固定时间获取mongodb的当前运行状态,并输出.如果你发现数据库突然变慢或者 ...

  6. mongodb可以通过profile来监控数据 (mongodb性能优化)

    mongodb可以通过profile来监控数据 (mongodb性能优化)   开启 Profiling  功能 ,对慢查询进行优化: mongodb可以通过profile来监控数据,进行优化. 查看 ...

  7. mongodb的监控与性能优化

    一.mongodb的监控 mongodb可以通过profile来监控数据,进行优化. 查看当前是否开启profile功能用命令 db.getProfilingLevel()  返回level等级,值为 ...

  8. MongoDB性能篇之创建索引,组合索引,唯一索引,删除索引和explain执行计划

    这篇文章主要介绍了MongoDB性能篇之创建索引,组合索引,唯一索引,删除索引和explain执行计划的相关资料,需要的朋友可以参考下 一.索引 MongoDB 提供了多样性的索引支持,索引信息被保存 ...

  9. MYSQL使用PMM进行性能监控

    简介Percona监视和管理(PMM)是一个用于管理和监视MySQL和MongoDB性能的开源平台.它是由Percona与托管数据库服务.支持和咨询领域的专家合作开发的. PMM是一个免费的开源解决方 ...

随机推荐

  1. CI框架获取post和get参数_CodeIgniter心得

    请参考:CI文档的输入类部分: $this->input->post() $this->input->get() ------------------------------- ...

  2. 设计模式学习之单例模式(Singleton,创建型模式)(4)

    假如程序中有一个Person类,我的需求就是需要在整个应用程序中只能new一个Person,而且这个Person实例在应用程序中进行共享,那么我们该如何实现呢? 第一步: 新建一个Person类,类中 ...

  3. Git Fast-forward提交

    多人协同开发,使用Git经常会看到警告信息包含术语:Fast-forward, 这是何义? 简单来说就是提交到远程中心仓库的代码必须是按照时间顺序的. 比如A从中心仓库拿到代码后,对文件f进行了修改. ...

  4. RBF高斯径向基核函数【转】

    XVec表示X向量.||XVec||表示向量长度.r表示两点距离.r^2表示r的平方.k(XVec,YVec) = exp(-1/(2*sigma^2)*(r^2))= exp(-gamma*r^2) ...

  5. poj 1236 scc强连通分量

    分析部分摘自:http://www.cnblogs.com/kuangbin/archive/2011/08/07/2130277.html 强连通分量缩点求入度为0的个数和出度为0的分量个数 题目大 ...

  6. Xamarin Studio支持TypeScript开发

    之前谈到"TypeScript的崛起",今天推荐的文章又再次支持了这一观点--Xamarin Studio也开始支持TypeScript的开发. 一个语言是否能够崛起,很重要的一个 ...

  7. Ninja - chromium核心构建工具

    转自:http://guiquanz.me/2014/07/28/a_intro_to_Ninja/ Ninja - chromium核心构建工具Jul 28, 2014 [在线编辑] 缘由 经过上次 ...

  8. C#的GC机制(来自网摘复制,未整理)

    第一个就是很多人用.Net写程序,会谈到托管这个概念.那么.Net所指的资源托管到底是什么意思,是相对于所有资源,还是只限于某一方面资源?很多人对此不是很了解,其实.Net所指的托管只是针对内存这一个 ...

  9. C# 中Datetime类用法总结

    收集了一些记录下来,这些有的是从网上找的,有些是自己使用到的: DateTime dt = DateTime.Now; dt.ToString();//2005-11-5 13:21:25dt.ToF ...

  10. Javascript实现Linq查询方式

    Linq是.net平台一个重要的技术,全称Language Integrated Query.通过构建快速查询语句,可快速从数据库或集合中筛选数据集.以查询数据库相同的方式操作内存数据. 在ECMAS ...