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. JS 中的foreach和For in比较

    使用方式举例如下: <script type="text/javascript"> var jsonranklist=[{"name":" ...

  2. HDU 4612 Warm up tarjan缩环+求最长链

    Warm up Problem Description   N planets are connected by M bidirectional channels that allow instant ...

  3. java抽象类的使用

    当多个类中出现相同功能,但是功能主体不同,这是可以进行向上抽取.这时,只抽取功能定义,而不抽取功能主体. 抽象:看不懂. 抽象类的特点:1,抽象方法一定在抽象类中.2,抽象方法和抽象类都必须被abst ...

  4. android 项目中规范使用SharedPreferences

    一.SharedPreferences是什么来的? SharedPreferences是Android四种数据存储技术中的一种(SharedPreferences.SQLite.Content Pro ...

  5. Java入门知识点:

    1.跨平台性主要原理是:在需要运行的java应用程序的操作系统上安装了一个对应操作系统对应版本的JVM(Java Virtual Machine)java虚拟机即可,由JVM来负责Java程序的在该系 ...

  6. Spring的qualifier标签

    @Autowired是根据类型进行自动装配的.如果当Spring上下文中存在不止一个UserDao类型的bean时,就会抛出BeanCreationException异常;如果Spring上下文中不存 ...

  7. Google地图接口API之地图事件(四)

    演示几个地图事件: 1. 点击标记缩放地图 仍然使用上一遍文章使用的英国伦敦的地图.点用户点击标记时实现缩放地图的功能(点击标记时绑定地图缩放事件). 代码如下: <html> <h ...

  8. 游戏 scrollView

    using UnityEngine; using System.Collections; public class LLL : MonoBehaviour { Vector2 scrollPositi ...

  9. JavaBean中的get/set 的命名规范

      最近的struts项目中遇到了这样的问题: 我的action中全局变量明明有getset方法,而且是自动生成的,但是在使用的时候,总是说找不到这个属性的getset方法,取不到从jsp传来 的值, ...

  10. 编写爬虫程序的神器 - Groovy + Jsoup + Sublime

    写过很多个爬虫小程序了,之前几次主要用C# + Html Agility Pack来完成工作.由于.NET BCL只提供了"底层"的HttpWebRequest和"中层& ...