mongodb运维(2) mongostat命令

mongostat的功能类似于Unix / Linux文件系统使用vmstat,监控数据库上各项操作的统计,如增删查改的数量、联机数、內存使用状况…等,默认情况下,mongotop返回值的每一秒。

官方详细文档:https://docs.mongodb.com/manual/reference/program/mongod/#bin.mongod

1. mongostat 使用帮助及参数说明

mongodb运维(2) mongostat命令_第1张图片
image.png

2. 监控数据

mongodb运维(2) mongostat命令_第2张图片
image.png

参数说明

  • insert 表示每秒插入数据库的对象数量,如果跟在一个*后面,表示这是复制操作、
  • query 每秒查询操作数量、
  • update 每秒更新操作数量、
  • delete 每秒删除操作数量、
  • getmore 每秒get more操作的数量、
  • command 每秒执行数据库命令操作的数量(比如插入、查找、更新、删除等等)、
  • flushes 每秒执行fsync操作的数量、
  • mapped 映射数据的总量,以兆字节M表示。这里的数据是从上次mongostat显示到这次的数量、
  • vsize mongod或mongos进程用掉的虚拟内存,以兆字节M表示、
  • locked db 这里的值表示当前列出的数据库在锁定状态上花销的时间加上mongod进程在全局锁上花销的时间,以百分比表示、
  • idx miss 表示需要一个页面错误来加载一个Btree节点的索引访问尝试的百分比、
  • qr 客户端等待从MongoDB实例读操作的队列长度、
  • qw 客户端等待从MongoDB实例写操作的队列长度、
  • ar 正在执行读操作的客户端数量、
  • aw 正在执行写操作的客户端数量、
  • netIn MongoDB实例接收到的网络流量,用字节bytes表示,包括mongostat本身连接MongoDB实例产生的流量、
  • netOut MongoDB实例发送出去的网络流量,用字节bytes表示,包括mongostat本身连接MongoDB实例产生的流量、
  • conn 打开的连接数总数、
  • set replica set的名称、
  • repl replica set的状态 PRI 表示是Primary,SEC表示是Secondary

问题: 哪些工具可以实时监控MongoDB的整体性能?
答案是:我觉得最合适是mongostat ,虽然mongotop 可以看到具体集合,综合性能还是mongostat合适。

一般来说,我们想看目前机器的负载,可以使用mongostat,这个数值的多少,没有一个标准答案,每个人的服务器配置不同,业务代码sql、表的数据量都会影响着这个数值。

你可能感兴趣的:(mongodb运维(2) mongostat命令)