zoukankan      html  css  js  c++  java
  • MongoDB 监控工具 mongostat

    mongostat是mongodb自带的状态检测工具,在命令行下使用,会间隔固定时间获取mongodb的当前运行状态,并输出。

    命令:( version: v4.2.12-13 )

    # mongostat --host=127.0.0.1 --port=27017 --username=admin --password='hankyoon' --authenticationDatabase=admin
    
    insert query update delete getmore command dirty used flushes vsize   res qrw arw net_in net_out conn set   repl               time
        *0    *0     *0     *0       0    26|0  0.0% 0.2%       0 3.07G 1.01G 0|0 1|0  4.52k    137k  137 yoon  PRI Aug  3 20:33:43.036
        *0    *0     *0     *0       2    20|0  0.0% 0.2%       0 3.07G 1.01G 0|0 1|0  5.94k   92.8k  137 yoon  PRI Aug  3 20:33:44.035
        *0    *0     *0     *0       0    16|0  0.0% 0.2%       0 3.07G 1.01G 0|0 1|0  2.94k   90.2k  137 yoon  PRI Aug  3 20:33:45.035
        *0    *0     *0     *0       0     6|0  0.0% 0.2%       0 3.07G 1.01G 0|0 1|0  1.31k   42.5k  137 yoon  PRI Aug  3 20:33:46.036
        *0    *0     *0     *0       0     0|0  0.0% 0.2%       0 3.07G 1.01G 0|0 1|0   262b   38.3k  137 yoon  PRI Aug  3 20:33:47.036
        *0    *0     *0     *0       0     5|0  0.0% 0.2%       0 3.07G 1.01G 0|0 1|0  1.10k   41.0k  137 yoon  PRI Aug  3 20:33:48.035
        *0    *0     *0     *0       1     3|0  0.0% 0.2%       0 3.07G 1.01G 0|0 1|0  3.04k   41.1k  137 yoon  PRI Aug  3 20:33:49.036
        *0    *0     *0     *0       0     6|0  0.0% 0.2%       0 3.07G 1.01G 0|0 1|0  1.26k   41.7k  137 yoon  PRI Aug  3 20:33:50.035
        *0    *0      1     *0       7    10|0  0.0% 0.2%       0 3.07G 1.01G 0|0 1|0  13.8k   49.7k  137 yoon  PRI Aug  3 20:33:51.036
        *0    *0     *0     *0       0     5|0  0.0% 0.2%       0 3.07G 1.01G 0|0 1|0  1.15k   41.0k  137 yoon  PRI Aug  3 20:33:52.036

    监控指标详解:

    insert   每秒插入数
    query    每秒查询数
    update   每秒更新数
    delete   每秒删除数
    注1:如果是slave,数值前往往有一个*, 代表是replicate操作
    注2:一秒内执行的命令数比如批量插入,只认为是一条命令(所以意义应该不大)
    
    getmore  查询时游标(cursor)的getmore操作
    command  每秒内执行的命令数,在主从系统中会显示两个值(例如 3|0),分表代表 本地|复制 命令
    dirty    仅仅针对WiredTiger引擎,官网解释是脏数据字节的缓存百分比
    used     仅仅针对WiredTiger引擎,官网解释是正在使用中的缓存百分比
    flushes: For WiredTiger引擎:指checkpoint的触发次数在一个轮询间隔期间
             For MMAPv1 引擎:每秒执行fsync将数据写入硬盘的次数
    注:一般都是0,间断性会是1, 通过计算两个1之间的间隔时间,可以大致了解多长时间flush一次。flush开销是很大的,如果频繁的flush,可能就要找找原因了
    
    vsize:  虚拟内存使用量,单位MB (这是 在mongostat 最后一次调用的总数据)
    res:     物理内存使用量,单位MB (这是 在mongostat 最后一次调用的总数据)
    注:这个和你用top看到的一样, vsize一般不会有大的变动, res会慢慢的上升,如果res经常突然下降,去查查是否有别的程序狂吃内存。
    
    qr: 客户端等待从MongoDB实例读数据的队列长度
    qw:客户端等待从MongoDB实例写入数据的队列长度
    ar: 执行读操作的活跃客户端数量
    aw: 执行写操作的活客户端数量
    注:如果这两个数值很大,那么就是DB被堵住了,DB的处理速度不及请求速度。看看是否有开销很大的慢查询。如果查询一切正常,确实是负载很大,就需要加机器了
    
    net_in  network traffic in - bits  MongoDB实例的网络进流量
    net_out network traffic out - bits MongoDB实例的网络出流量
    
    conn  MongoDB为每一个连接创建一个线程,线程的创建与释放也会有开销,所以尽量要适当配置连接数的启动参数
  • 相关阅读:
    洛谷P1434 滑雪
    P1855 榨取kkksc03
    C#中将表示颜色的string转换成Color
    DevExpress的对话框XtraMessageBox的使用
    Winform中怎样根据Name获取同窗体的控件
    Winform中使用代码编写Button按钮的点击事件
    SqlServer 2014还原数据库时提示:无法在已有的""上还原文件,请重新发出RESTORE语句,用WITH REPLACE来覆盖原先存在的文件
    SqlServer 2014 还原数据库时提示:操作系统返回了错误5,,拒绝访问
    Windows 7 上怎样打开SQL Server 配置管理器
    SqlServer2014怎样还原数据库
  • 原文地址:https://www.cnblogs.com/hankyoon/p/15096544.html
Copyright © 2011-2022 走看看