1.mongostat工具的用法
[mongod@mysql57 backup]$ mongostat -u admin -p admin --host 192.168.75.56 --port 27017 --authenticationDatabase admin
insert query update delete getmore command dirty used flushes vsize res qrw arw net_in net_out conn time
*0 *0 *0 *0 0 12|0 0.0% 0.0% 0 933M 84.0M 0|0 1|0 1.40k 63.3k 2 Jun 14 11:27:43.484
*0 *0 *0 *0 0 12|0 0.0% 0.0% 0 933M 84.0M 0|0 1|0 1.40k 63.4k 2 Jun 14 11:27:44.478
*0 *0 *0 *0 0 11|0 0.0% 0.0% 0 933M 84.0M 0|0 1|0 1.38k 62.1k 2 Jun 14 11:27:45.491
*0 *0 *0 *0 0 12|0 0.0% 0.0% 0 933M 84.0M 0|0 1|0 1.41k 63.5k 2 Jun 14 11:27:46.483
*0 *0 *0 *0 0 11|0 0.0% 0.0% 0 933M 84.0M 0|0 1|0 1.36k 61.3k 2 Jun 14 11:27:47.510
*0 *0 *0 *0 0 12|0 0.0% 0.0% 0 933M 84.0M 0|0 1|0 1.40k 63.2k 2 Jun 14 11:27:48.506
*0 *0 *0 *0 0 12|0 0.0% 0.0% 0 933M 84.0M 0|0 1|0 1.45k 65.6k 2 Jun 14 11:27:49.467
*0 *0 *0 *0 0 11|0 0.0% 0.0% 0 933M 84.0M 0|0 1|0 1.38k 62.4k 2 Jun 14 11:27:50.476
*0 *0 *0 *0 0 11|0 0.0% 0.0% 0 933M 84.0M 0|0 1|0 1.38k 62.4k 2 Jun 14 11:27:51.486
*0 *0 *0 *0 0 12|0 0.0% 0.0% 0 933M 84.0M 0|0 1|0 1.43k 64.5k 2 Jun 14 11:27:52.462
insert query update delete getmore command dirty used flushes vsize res qrw arw net_in net_out conn time
*0 *0 *0 *0 0 12|0 0.0% 0.0% 0 933M 84.0M 0|0 1|0 1.40k 63.0k 2 Jun 14 11:27:53.461
*0 *0 *0 *0 0 11|0 0.0% 0.0% 0 933M 84.0M 0|0 1|0 1.36k 61.3k 2 Jun 14 11:27:54.489
*0 *0 *0 *0 0 12|0 0.0% 0.0% 0 933M 84.0M 0|0 1|0 1.42k 64.2k 2 Jun 14 11:27:55.469
*0 *0 *0 *0 0 11|0 0.0% 0.0% 0 933M 84.0M 0|0 1|0 1.34k 60.4k 2 Jun 14 11:27:56.512
*0 *0 *0 *0 0 13|0 0.0% 0.0% 0 933M 84.0M 0|0 1|0 1.51k 65.8k 3 Jun 14 11:27:57.470
*0 *0 *0 *0 0 11|0 0.0% 0.0% 0 933M 84.0M 0|0 1|0 1.38k 62.3k 3 Jun 14 11:27:58.481
*0 *0 *0 *0 0 11|0 0.0% 0.0% 0 933M 84.0M 0|0 1|0 1.38k 62.2k 3 Jun 14 11:27:59.493
*0 *0 *0 *0 0 12|0 0.0% 0.0% 0 933M 84.0M 0|0 1|0 1.40k 63.2k 3 Jun 14 11:28:00.489
*0 *0 *0 *0 0 12|0 0.0% 0.0% 0 933M 84.0M 0|0 1|0 1.41k 63.5k 3 Jun 14 11:28:01.481
*0 *0 *0 *0 0 12|0 0.0% 0.0% 0 933M 84.0M 0|0 1|0 1.40k 63.2k 3 Jun 14 11:28:02.478
insert query update delete getmore command dirty used flushes vsize res qrw arw net_in net_out conn time
*0 *0 *0 *0 0 11|0 0.0% 0.0% 0 933M 84.0M 0|0 1|0 1.38k 62.1k 3 Jun 14 11:28:03.491
2.参数分析
结果分析:
insert/s : 官方解释是每秒插入数据库的对象数量,如果是slave,
则数值前有*,则表示复制集操作
query/s : 每秒的查询操作次数
update/s : 每秒的更新操作次数
delete/s : 每秒的删除操作次数
getmore/s: 每秒查询cursor(游标)时的getmore操作数
command: 每秒执行的命令数,在主从系统中会显示两个值(例如 3|0),
分表代表 本地|复制命令, 注: 一秒内执行的命令数比如批量插入,
只认为是一条命令(所以意义应该不大)
dirty: 仅仅针对WiredTiger引擎,官网解释是脏数据字节的缓存百分比
used:仅仅针对WiredTiger引擎,官网解释是正在使用中的缓存百分比
flushes:For MMAPv1 引擎:每秒执行fsync将数据写入硬盘的次数
注:一般都是0,间断性会是1, 通过计算两个1之间的间隔时间,
可以大致了解多长时间flush一次。flush开销是很大的,如果频繁的flush,可能就要找找原因了
vsize: 虚拟内存使用量,单位MB (这是 在mongostat 最后一次调用的总数据)
res: 物理内存使用量,单位MB (这是 在mongostat 最后一次调用的总数据)
注:这个和你用top看到的一样, vsize一般不会有大的变动, res会慢慢的上升,
如果res经常突然下降,去查查是否有别的程序占用大量内存。
res: 物理内存使用量,单位MB
注:这个和你用top看到的一样, vsize一般不会有大的变动, res会慢慢的上升,
如果res经常突然下降,去查查是否有别的程序占用大量内存
qrw、arw:分别表示读写队列长度和活跃连接数;
net_in、net_out:表示当前秒内 MongoDB 进程输入/输出的数据量,单位为 bytes;
conn:表示当前连接数