mongostat是mongdb自带的状态检测工具,在命令行下使用。它会间隔固定时间获取mongodb的当前运行状态,并输出。如果你发现数据库突然变慢或者有其他问题的话,你第一手的操作就考虑采用mongostat来查看mongo的状态。

mongostat命令格式,当然也可以加参数:

在第一个例子中,mongostat将返回数据的每一秒,持续20秒。 mongostat收集数据的mongod实例上运行的本地主机接口端口27017。以下所有调用产生相同的行为:
 
mongostat -rowcount 20 1
mongostat -rowcount 20
mongostat -N 20 1
mongostat -N 20
在下面的例子中,mongostat返回的数据每5分钟(300秒),只要在程序运行。 mongostat收集数据的mongod实例上运行的本地主机接口端口27017。以下两种调用产生相同的行为。
 
mongostat - rowcount 0 300
mongostat -N 0 300
mongostat 300
在下面的例子中,mongostat返回的数据每5分钟一个小时(12次)。mongostat收集数据的mongod实例上运行的本地主机接口端口27017。以下两种调用产生相同的行为。
 
mongostat -rowcount 12 300
mongostat -N 12 300
在许多情况下,使用 -discover将帮助整组机器的状态,提供更完整的快照。如果Mongos的过程中,连接到一个片式集群上运行在本地机器上的端口27017,你可以使用下面的形式从群集中的所有成员返回统计:
 

mongostat -discover

以上参考文档:http://cn.docs.mongodb.org/manual/reference/mongostat/

主要详细说明一下各列的意义(也可以参考./mongostat --help)

insert:     一秒内的插入数
query :     一秒内的查询数
update:     一秒内的更新数
delete:     一秒内的删除数
  10条简单的查询可能比一条复杂的查询速度还快, 所以数值的大小,意义并不大。
  但至少可以知道,现在是否在处理查询,是否在插入。
  如果是slave,数值前往往有一个*, 代表是replicate操作
 
getmore:    查询时游标(cursor)的getmore操作
  用处不大
    www.2cto.com  
command:    一秒内执行的命令数
  比如批量插入,只认为是一条命令。 意义不大。
  如果是slave,会显示两个值, local|replicated,通过这两个数值的比较,或许可以看出点问题。
  
flushes:    一秒内flush的次数 
  一般都是0,或者1,通过计算两个1之间的间隔时间,可以大致了解多长时间flush一次。
  flush开销是很大的,如果频繁的flush,可能就要找找原因了。
    
mapped:     
vsize:
res:
  这个和你用top看到的一样,mapped, vsize一般不会有大的变动, res会慢慢的上升,如果res经常突然下降,去查查是否有别的程序狂吃内存。
  
faults:
  别被这个名字吓着,大压力下这个数值往往不为0。如果经常不为0,那就该加内存了。
  
locked:
  MongoDB就一把读写锁,这里指的是写锁所住的时间百分比。这个数值过大(经常超过10%),那就是出状况了。
  
idx miss:
  非常重要的参数, 正常情况下,所有的查询都应该通过索引,也就是idx miss为0。如果这里数值较大,是不是缺少索引。
  
qr|qw: queue lengths for clients waiting (read|write)
ar|aw: active clients (read|write)
  如果这两个数值很大,那么就是DB被堵住了,DB的处理速度不及请求速度。
  看看是否有开销很大的慢查询。如果查询一切正常,确实是负载很大,就需要加机器了。
  
netIn: network traffic in - bits
netOut: network traffic out - bits
  网络带宽压力,一般MongoDB,网络不会成为瓶颈
 
conn: number of open connections
  MongoDB为每一个连接创建一个线程,线程的创建和释放也是有开销的。尽量不要让这个数值很大。
 
repl: 服务器当前状态
    M   - master
    SEC - secondary
    REC - recovering
    UNK - unknown
    SLV - slave
    
time: 当前时间

如果在windows下的cmd窗口中执行mongostat命令时,可能由于窗口太窄,监控数据排列较乱而阻碍视觉的情况,大家可以把结果输出到一个txt文件中,然后去查看这个文件,办法是曲折了一些哈哈。

E:\mongodb-win32-x86_64-2.2.1\bin\mongostat -n 2 > E:\test.txt

打印2行结果到E盘的跟目录下的test.txt中。

参考文档:http://cn.docs.mongodb.org/manual/reference/mongostat/

mongoDB之监控工具mongostat的更多相关文章

  1. mongoDB之监控工具mongostat及其参数的具体含义

    mongostat是mongdb自带的状态检测工具,在命令行下使用.它会间隔固定时间获取mongodb的当前运行状态,并输出.如果你发现数据库突然变慢或者有其他问题的话,你第一手的操作就考虑采用mon ...

  2. mongodb监控工具mongostat

    mongostat的使用及命令详解 mongostat是mongodb自带的状态检测工具,在命令行下使用,会间隔固定时间获取mongodb的当前运行状态,并输出. 1.常用命令格式: mongosta ...

  3. MongoDB监控一 mongostat

    mongostat命令                                                               mongostat可以提供mongod和mongos ...

  4. mongoDB之监控工具mongotop

    mongotop也是mongodb-win32-x86_64-2.2.1\bin下的一个内置工具,mongotop提供了一个方法,用来跟踪一个MongoDB的实例,查看哪些大量的时间花费在读取和写入数 ...

  5. MongoDB 3.0 新特性【转】

    本文来自:http://www.open-open.com/lib/view/open1427078982824.html#_label3 更多信息见官网: http://docs.mongodb.o ...

  6. C# mongodb [上]

    概述 MongoDB是一个高性能,开源,无模式的文档型数据库,使用C++开发.是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的.他支持的数据结构非常松散,是 ...

  7. C# mongodb 1

    转载C# mongodb 概述 MongoDB是一个高性能,开源,无模式的文档型数据库,使用C++开发.是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的.他 ...

  8. Mongodb 监测

    原文地址:伍仪洲的博客 介绍 为什么要进行监控状态,因为在实际的情况中可能会发生一下无法预计的情况,比如阻塞的问题,阻塞的原因会有很多种情况造成,如果当我们查询文档的时候发生了阻塞,那么就会影响到后面 ...

  9. MongoDB 3.0新增特性一览

    转自:http://blog.sina.com.cn/s/blog_48c95a190102vedr.html 引言 在历经版本号修改(2.8版本直接跳到3.0版本)和11个rc版本之后,MongoD ...

随机推荐

  1. Zephir入门 —— 语法篇

    概述 Zephir的语法跟PHP很相似,所以这里不会把官网的文档照搬过来翻译一遍,而是会把一些Zephir相较于PHP比较特别的语法挑出来讲一下.如果想要要完整学习Zephir的语法,没有比官网的文档 ...

  2. unity, dll is not allowed to be included or could not be found

    player settings change to Net 2.0 ref: http://answers.unity3d.com/questions/485085/dll-is-not-allowe ...

  3. Eclipse_Configure

    原文链接:http://android.eoe.cn/topic/android_sdk 1. 下载Eclipse 在前面我们配置好了JDK环境后,就可以开始配置Android的集成开发环境了,官方G ...

  4. 在c和c++中的求绝对值

    在c语言中,根据类型的不同,求绝对值函数也不同. int abs(int x) double fabs(double x) 求int类型用abs,求浮点类型用fabs. 而且这两个函数的所在头文件也不 ...

  5. android studio(AS) Duplicate files copied in APK META-INF/NOTICE.txt

    File 1: /home/slava/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpmime/4.3.1/f789 ...

  6. Atitit  404错误的排查流程总结 v3 qaf

    Atitit  404错误的排查流程总结 v3 qaf 1.1. 用了注解不生效 提示404 Not Found1 1.2. 路径不对了,开头多了个空格1 2. 500 Servlet Excepti ...

  7. Atitit 切入一个领域的方法总结 attilax这里,机器学习为例子

    Atitit 切入一个领域的方法总结 attilax这里,机器学习为例子 1.1. 何为机器学习?1 1.2. 两类机器学习算法 :监督式学习(Supervised Learning)和非监督式学习( ...

  8. C#中计算时间差

    问题: startTime = DateTime.Now;            -----------slExecutedTime.Text = (DateTime.Now - startTime) ...

  9. 【Unity】10.2 通用动画的导入和设置

    分类:Unity.C#.VS2015 创建日期:2016-05-02 一.简介 使用类人动画时,Mecanim 的强大之处最明显.但是,尽管没有 Avatar 系统和其他功能,非类人动画也仍然受Mec ...

  10. Speech and Language Processing, NLP 处理

    https://www.amazon.com/Speech-Language-Processing-Daniel-Jurafsky/dp/0131873210 http://web.stanford. ...