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. javascript字典数据结构常用功能实现

    必知必会啊. function Dictionary(){ var items = {}; this.has = function (key) { return key in items; }; th ...

  2. hdu 1005:Number Sequence(水题)

    Number Sequence Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)T ...

  3. 14、Silverlight 滤镜到 UWP 滤镜的移植(二)

    上一篇文章 大致介绍了,移植戴震军大哥的 Windows Phone7 中,对于高斯模糊滤镜的移植,主要是 int[] 数组和 byte[] 数组的互相转换.同样的思路,只要把前文的方法封装一下,就能 ...

  4. HttpSession--会话

  5. TextView属性大全

    今天研究了TextView一天了,发现网上有一篇讲TextView属性的,非常全,收藏一下先. 发现TextView有一个比较大的问题,就是文字排版的问题,遇到数字,字母,符号等就会有问题,目前还没有 ...

  6. 误删除了mssql的表。 使用命令:drop table xxxx

    使用ApexSQL Recover工具进行恢复.教程如下: http://solutioncenter.apexsql.com/zh/%E6%B2%A1%E6%9C%89%E5%A4%87%E4%BB ...

  7. mysql之对触发器的操作

    1. 为什么要使用触发器? 触发器与函数有些类似,都需要声明,执行.但是触发器的执行不是由程序调用,也不是由手工启动,而是由事件来触发,激活,从而实现执行. 当触发DELETE,INSERT,UPDA ...

  8. Web 设计新趋势: 使用 SVG 代替 Web Icon Font

    如果你还在使用 Icon Font 作为网页中显示图标的实现方案,那么你可能有点 Out 了. 由于使用 Icon Font 显示图标存在一些缺陷,开发者们一直在致力于探索使用 SVG 作为替代的方法 ...

  9. POJ 1691 Painting A Board(迭代深搜)

    题目链接 调了一上午,单步的效率太低了,特别是在有递归的情况下...下午来了,输出调试了下,就发现bug了,各种混乱啊. 比较高兴的事,1Y了.本来还准备用edge1优化一下的,结果完全没用到.. # ...

  10. javascript 数据类型 变量 类型转换运算符

    数据类型: 1.字符串(被双引号所包含的内容),小数,整数,日期时间,布尔型等. 2.变量: 都是通用类型的var,    定义一个变量格式:var a: 3.类型转换: 分为自动转换和强制转换,一般 ...