mongostat的功能类似于Unix / Linux文件系统使用vmstat,监控数据库上各项操作的统计,如增删查改的数量、联机数、內存使用状况…等,默认情况下,mongotop返回值的每一秒。
官方详细文档:https://docs.mongodb.com/manual/reference/program/mongod/#bin.mongod
1. mongostat 使用帮助及参数说明
image.png
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、表的数据量都会影响着这个数值。
作者:微信小程序开发
链接:https://www.jianshu.com/p/8b0eeca6f99b