mongodb之mongostat 的字段含义解析

  做为实时监控mongodb的利器,mongostat绝对是一把利刃,简单好用,不过,要想仔细分析mongostat状态,还少不了深入理解每个监控项的意义。html

# mongostat
insert  query update delete getmore command flushes mapped  vsize    res    faults locked % idx miss %     qr|qw  ar|aw  netIn netOut  conn  set    repl     time 
  *79     87    *0     *0       0   13|0       0      354g  710g     10.2g      9       0          0        0|0    0|0    9k   666k  483 c56...  SEC   15:07:17

下面分析每一项的含义:mongodb

inserts/s   每秒插入次数
query/s     每秒查询次数
update/s    每秒更新次数

  注:10条简单的查询可能比一条复杂的查询速度还快, 因此数值的大小,意义并不大。但至少能够知道,如今是否在处理查询,是否在插入。若是是slave,数值前每每有一个*, 表明是replicate操做bash

 

getmore/s   查询时游标(cursor)的getmore操做
command/s   每秒的命令数,在主从系统中,会显示两个值 (例如:80|0),分别表明 本地|复制 命令的个数

   注:一秒内执行的命令数好比批量插入,只认为是一条命令意义不大。若是是slave,会显示两个值, local|replicated,经过这两个数值的比较,或许能够看出点问题。网络


flushs/s 每秒执行fsync将数据写入硬盘的次数。

   注:通常都是0,或者1,经过计算两个1之间的间隔时间,能够大体了解多长时间flush一次。flush开销是很大的,若是频繁的flush,可能就要找找缘由了。app


mapped/s 全部的被mmap的数据量,单位是MB(这是 在mongostat 最后一次调用的总数据)
vsize 虚拟内存使用量,单位MB (这是 在mongostat 最后一次调用的总数据)
res 物理内存使用量,单位MB (这是 在mongostat 最后一次调用的总数据)

   注:这个和你用top看到的同样,mapped, vsize通常不会有大的变更, res会慢慢的上升,若是res常常忽然降低,去查查是否有别的程序狂吃内存。ide


faults/s 每秒访问失败数(只有Linux有),数据被交换出物理内存,放到swap。

   注:不要超过100,不然就是机器内存过小,形成频繁swap写入。此时要升级内存或者扩展,大压力下这个数值每每不为0。若是常常不为0,那就该加内存了。spa

推荐文章:http://huoding.com/2011/08/19/107线程

 

locked % 被锁的时间百分比,尽可能控制在50%如下吧

   注:MongoDB就一把读写锁,这里指的是写锁所住的时间百分比。这个数值过大(常常超过10%),那就是出情况了。htm


idx miss % 访问加载 btree 节点时须要页面故障的尝试的索引百分比。

   注:这是一个采样值。若是过高的话就要考虑索引是否是少了,很是重要的参数, 正常状况下,全部的查询都应该经过索引,也就是idx miss为0。若是这里数值较大,是否是缺乏索引。blog


qr  客户端等待从 MongoDB 实例读取数据的队列长度。
qw  客户端等待向 MongoDB 实例写入数据的队列长度。
ar  执行读取操做的活动客户端的数目。
aw  执行写入操做的活动客户端的数目。

   注:若是这两个数值很大,那么就是DB被堵住了,DB的处理速度不及请求速度。看看是否有开销很大的慢查询。若是查询一切正常,确实是负载很大,就须要加机器了。

 

netIn  The amount of network traffic, inbytes, received by the MongoDB instance.
This includes traffic from mongostat itself.
netOut  The amount of network traffic, inbytes, sent by the MongoDB instance.
This includes traffic from mongostat itself.

  注:网络带宽压力,通常MongoDB,网络不会成为瓶颈


conn   打开链接的总数。

   注: MongoDB为每个链接建立一个线程,线程的建立和释放也是有开销的。尽可能不要让这个数值很大。


set   副本集的名称。
repl   节点的复制状态。

  注:

   M   - master

   SEC - secondary

   REC - recovering

   UNK - unknown

   SLV - slave

time  时间戳

推荐文章;http://www.cnblogs.com/zhuque/archive/2013/03/29/2988577.html

相关文章
相关标签/搜索