1. mongostat简介
mongostat是mongodb自带的一个监控工具,可以通过它查看mongodb实例的运行状态。
mongostat的输出结果类似于Linux下的top命令,能够显示出当前系统的状态。
2. mongostat命令
2.1 命令格式
mongostat [options] [delay [times]]
其中,delay和times是可选参数。
2.2 命令参数
参数 | 描述 |
---|---|
-h, --host <hostname> | 指定要连接的MongoDB实例的主机名。 |
-u, --username <username> | 指定连接MongoDB实例所需的用户名。 |
-p, --password <password> | 指定连接MongoDB实例所需的密码。 |
--authenticationDatabase <database> | 指定用于认证的数据库。默认为admin。 |
--ssl | 启用SSL连接。 |
-n, --rowcount <count> | 指定输出的行数。默认为0,表示输出全部。 |
-i, --headerinterval <seconds> | 指定输出表头的时间间隔。默认为1。 |
-u | 指定监控延迟。默认为1秒。 |
-t | 指定监控次数。默认为无限次。 |
3. mongostat输出内容
mongostat输出的内容包含数据库的各种状态信息,如连接数,查询次数,内存使用情况等。
mongostat的输出内容解释如下:
insert: 每秒钟插入的文档数。
query: 每秒钟查询的次数。
update: 每秒钟更新的文档数。
delete: 每秒钟删除的文档数。
getmore: 每秒钟执行的getmore操作的次数。
command: 每秒钟执行的命令的次数。
flushes: 每秒钟执行的刷入操作的次数。
mapped: 当前实例使用的映射内存大小。
vsize: 当前实例的虚拟内存大小。
res: 当前实例的常驻内存大小。
faults: 每秒钟产生的缺页异常的次数。
locked: 当前实例的数据库锁定状态。
idxmiss%: 数据库使用的索引命中率。
qr|qw: 当前实例的操作队列。
ar|aw: 数据恢复队列和备份写入队列。
net_in: 每秒钟的数据传输输入流量。
net_out: 每秒钟的数据传输输出流量。
conn: 当前实例的连接数。
time: 当前实例运行的时间。
4. mongostat实例
mongostat可以直接在终端中运行,如下:
mongostat
运行后,我们可以看到类似下面的输出结果:
insert query update delete getmore command flushes mapped vsize res faults locked db idxmiss% qr|qw ar|aw netIn netOut conn time
16 73 0 0 0 0 0 252m 1.10g 262m 0 mbf admin.system.users:r 0|0 0|0 40k 8k 2 19:46:06
16 72 0 0 0 1 0 252m 1.10g 262m 0 mbf admin.system.roles:r 0|0 0|0 40k 8k 2 19:46:07
16 73 0 0 0 1 0 252m 1.10g 262m 0 mbf article.comments:r 0|0 0|0 40k 8k 2 19:46:08
其中的字段含义请参考上面的mongostat输出内容。
5. 结语
本文介绍了mongostat的使用及命令详解。mongostat是mongodb自带的一个监控工具,可以用来查看mongodb实例的运行状态。希望本文能帮助大家更好地了解mongostat的使用方法。