mongostat是对当前正在运行mongod或mongos实例状态的快速概览。
mongostat在功能上类似于UNIX/Linux文件系统中的vmstat,只是提供的是关于mongod和mongos实例的数据 。
值得注意的是:
mongostat是在系统命令行中运行,而不是mongo shell中。--help:返回选项信息和mongostat的用法。
--verbose,-v:增加返回到标准输出或者日志文件中的内部报告的量。直白的说就是详细模式,多个v可以增加更加详细的输出,如-vvvv。
--version:返回mongostat版本号。--host
指定mongod要连接的可解析主机名,在默认情况下,mongostat尝试连接运行在本地的端口号为27017的MongoDB实例。
备注:如果要连接到一个副本集,可以通过指定一个或多个成员集,
例如:--host
--port
--ipv6 :启用IPv6支持,但在3.0版本中弃用了
--ssl:使用mongostat通过TLS/SSL方式连接mongod或mongos。
--sslCAFile
--username
--password
--authenticationDatabase
--authenticationMechanism
--humanReadable boolean:默认:True,如果为True,则mongostat返回的日期和数量格式更方便阅读。
如果为True,显示如下:
insert query update delete getmore command dirty used flushes vsize res qrw arw net_in net_out conn time991 *0 *0 *0 0 2|0 3.4% 4.5% 0 2.90G 297M 0|0 0|0 12.9m 84.2k 2 Oct 6 09:45:37.478
989 *0 *0 *0 0 2|0 3.6% 4.7% 0 2.91G 310M 0|0 0|0 12.9m 84.1k 2 Oct 6 09:45:38.476
988 *0 *0 *0 0 1|0 3.7% 4.8% 0 2.92G 323M 0|0 0|0 12.8m 83.8k 2 Oct 6 09:45:39.481
976 *0 *0 *0 0 2|0 3.9% 5.0% 0 2.94G 335M 0|0 0|0 12.7m 83.7k 2 Oct 6 09:45:40.476
如果为False,则显示如下:
insert query update delete getmore command dirty used flushes vsize res qrw arw net_in net_out conn time
992 *0 *0 *0 0 2|0 1.3 2.4 0 2941255680 149946368 0|0 0|0 12913607 84271 2 2016-10-06T09:45:25-04:00
989 *0 *0 *0 0 1|0 1.5 2.6 0 2974810112 163577856 0|0 0|0 12873225 84087 2 2016-10-06T09:45:26-04:00
996 *0 *0 *0 0 1|0 1.6 2.8 0 2972712960 177209344 0|0 0|0 12955423 84345 2 2016-10-06T09:45:27-04:00
987 *0 *0 *0 0 1|0 1.8 2.9 0 2989490176 190840832 0|0 0|0 12861852 84008 2 2016-10-06T09:45:28-04:00
-o
使用rate()查看每秒改变速率,使用diff()查看从上一次调用mongostat到现在serverStatus相关字段的变化量
--noheaders:不显示列或字段名称。
--rowcount
除非--rowcount指定,否则mongostat 将返回无限数量的行
--discover:当连接到一个副本集中的任何一个成员时,mongostat会发现并显示副本集中其他成员的状态信息
--all:显示所有的字段信息
--json:以JSON格式返回mongostat的输出结果
insert:每秒插入到数据库中的对象数量,如果跟在一个*后面,表示这是复制操作。
query:每秒查询操作数量。
update:每秒更新操作数量。
delete:每秒删除操作数量。
getmore:每秒get more操作的数量。
command:每秒执行数据库命令操作的数量 。
flushes:对于 MMAPv1存储引擎而言它表示每秒执行fsync操作的数量;对WiredTiger存储引擎而言,它表示在每个轮询间隔之间触发的WiredTiger检查点的数量。
dirty:WiredTiger缓存的脏字节数的百分比,仅适合WiredTiger存储引擎。
mapped:映射数据的总量,以兆字节M表示。这里的数据是从上次mongostat显示到这次的数量。
vsize:最后一次调用mongostat时mongod或mongos进程用掉的虚拟内存,以兆字节M表示。
non-mapped:最后一次mongostat调用时,所有虚拟内存总量(不包括映射内存),仅适合MMAPv1存储引擎。
res:上次调用mongostat时,进程使用的驻留内存量(以兆字节为单位)。
faults:每秒的页面错误数量,仅适用于MMAPv1存储引擎。
locked:mongod进程在全局锁上花销的时间,以百分比表示。
idx miss:表示需要一个页面错误来加载一个Btree节点的索引访问尝试的百分比。
qr:客户端等待从MongoDB实例读操作的队列长度。
qw:客户端等待从MongoDB实例写操作的队列长度。
ar:正在执行读操作的客户端数量。
aw:正在执行写操作的客户端数量。
netIn:MongoDB实例接收到的网络流量,用字节bytes表示,包括mongostat本身连接MongoDB实例产生的流量。
netOut:MongoDB实例发送出去的网络流量,用字节bytes表示,包括mongostat本身连接MongoDB实例产生的流量。
conn:打开的连接数总数。
set:副本集的名称。
repl:副本集的状态:PRI表示是Primary,SEC表示是Secondary,M表示是master,REC表示是recovering,
UNK表示是unknown,SLV表示是slave,ARB表示是arbiter。
参考地址:https://docs.mongodb.com/manual/reference/program/mongostat/