• mongostat查看mongodb运行状态使用命令介绍


    mongostat是mongodb自带的一个用来查看mongodb运行状态的工具
    使用说明
    mongostat -h 127.0.0.1:12345
     
    字段说明
    启用后的状况是这样的
    insert query update delete getmore command dirty used flushes vsize res qrw arw net_in net_out conn time
    *0 *0 *0 *0 0 1|0 0.0% 0.0% 0 3.11G 34.0M 0|0 1|0 157b 57.1k 1 Aug 11 07:59:21.760
    *0 *0 *0 *0 0 2|0 0.0% 0.0% 0 3.11G 34.0M 0|0 1|0 158b 57.1k 1 Aug 11 07:59:22.760
    *0 *0 *0 *0 0 1|0 0.0% 0.0% 0 3.11G 34.0M 0|0 1|0 157b 57.0k 1 Aug 11 07:59:23.761
    *0 *0 *0 *0 0 1|0 0.0% 0.0% 0 3.11G 34.0M 0|0 1|0 157b 57.1k 1 Aug 11 07:59:24.762
    *0 *0 *0 *0 0 1|0 0.0% 0.0% 0 3.11G 34.0M 0|0 1|0 157b 57.0k 1 Aug 11 07:59:25.764
    *0 *0 *0 *0 0 1|0 0.0% 0.0% 0 3.11G 34.0M 0|0 1|0 157b 57.1k 1 Aug 11 07:59:26.764
    *0 *0 *0 *0 0 1|0 0.0% 0.0% 0 3.11G 34.0M 0|0 1|0 157b 57.1k 1 Aug 11 07:59:27.764
    *0 *0 *0 *0 0 2|0 0.0% 0.0% 1 3.11G 34.0M 0|0 1|0 159b 57.5k 1 Aug 11 07:59:28.757
    inserts:当前mongodb插入数量
    query:当前mongodb的查询数量,数量以每秒为单位
    update:当前mongodb的更新数量
    delete:当前mongodb的删除数量
    getmore:在进行mongodb查询时,每次并不是返回所有的数据,比如要一次查询一百万条,每次只会返回一定量的数据,当每次find的时候,getmore用来获取以后的数据
    command:执行命令的数量
    flushes:在mongodb写入数据,查询数据时,我们看到的数据是在内存中,实际上并不是在内存中,有些是在硬盘上的,每个一段时间,mongodb会把内存数据刷到硬盘上,flushes就是看mongodb隔多久往磁盘上刷一次
    mapped,vsize,res:mongodb所占据到磁盘空间大小和申请的内存大小
    faults:如果数据没有加塞到内存中,需要到硬盘上读取
    locked:锁的情况
    ids miss:表明当前查询没有使用索引的情况
    qr|qw:在写入或读取数据时,并不是来个请求就处理,而是放到队列中,如果请求比较多,或者mongodb处理比较慢,这样qr,qw比较高,一般到qr,qw比较高时,比如几百上千,mongodb的性能会出现明显的下降
    ar|aw:当前活跃的客户端的数目
    netIn,netOut:mongodb使用网卡的输入流量
    conn:连接到mongodb到连接数量
     
     
    使用mongostat效果验证
    > for(i=0; i<100000; i++) db.imooc_2.insert({x:i})
    WriteResult({ "nInserted" : 1 })
    插入十万条数据,同时另起一个窗口,查看mongostat状态
    ./bin/mongostat -h 127.0.0.1:12345
    insert query update delete getmore command dirty used flushes vsize res qrw arw net_in net_out conn time
    2312 *0 *0 *0 0 2|0 0.4% 0.5% 0 3.13G 31.0M 0|0 1|0 273k 162k 3 Aug 12 07:12:33.009
    2283 *0 *0 *0 0 1|0 0.4% 0.5% 0 3.13G 32.0M 0|0 1|0 270k 160k 3 Aug 12 07:12:34.010
    2341 *0 *0 *0 0 1|0 0.4% 0.5% 0 3.13G 32.0M 0|0 1|0 276k 163k 3 Aug 12 07:12:35.010
    2432 *0 *0 *0 0 2|0 0.4% 0.5% 0 3.13G 32.0M 0|0 1|1 287k 167k 3 Aug 12 07:12:36.010
    2358 *0 *0 *0 0 2|0 0.4% 0.5% 0 3.13G 33.0M 0|0 1|0 279k 163k 3 Aug 12 07:12:37.009
    2215 *0 *0 *0 0 1|0 0.4% 0.6% 0 3.13G 33.0M 0|0 1|0 262k 157k 3 Aug 12 07:12:38.009
    2362 *0 *0 *0 0 1|0 0.4% 0.6% 0 3.13G 34.0M 0|0 1|0 279k 164k 3 Aug 12 07:12:39.010
    可以看到insert,正在以每秒两千多的速度插入数据

    在实际使用中,根据情况的不同,都会不同对应都值,一般来说,对于性能,我们比较关心的是,qr,读队列,如果读队列比较多,说明系统的读请求负载比较高,会出现比较严重的性能问题,qw,写队列,这两个一般能直观的反应系统的性能状况,如果他们的数字大幅度提高,mongodb会立刻遇到问题
  • 相关阅读:
    泛型约束new()的使用
    控制反转-依赖注入
    微服务的六个基本点
    java反编译工具
    Idea中一些常用设置
    JSP内置对象(9个常用的内置对象)
    输出输入流,的应用

    容器集合类
    容器与集合
  • 原文地址:https://www.cnblogs.com/wzndkj/p/9458452.html
Copyright © 2020-2023  润新知