MongoDB 数据库状态监控说明
- 查看服务器状态
db.serverStatus()
- 查看数据库状态
db.stats()
- mongostat
命令格式:
mongostat --username=admin --password=password --authenticationDatabase=admin --rowcount=10 2
选项说明:
--rowcount=10 打印状态行的总数
输出字段说明:
insert 表示每秒插入数据库的对象数量,如果跟在一个*后面,表示这是复制操作
query 每秒查询操作数量
update 每秒更新操作数量
delete 每秒删除操作数量
getmore 每秒get more操作的数量,每次查询数据时,如果一次数据量比较大,超过了mongodb一次能查询的最大数据量,那么mongodb就回把这次要查询的数据分成几次查询,分别返回
command 每秒执行数据库命令操作的数量,比以上插入、查找、更新、删除的综合还多,还统计了别的命令
dirty WiredTiger存储引擎中dirty 数据占缓存百分比
used WiredTiger存储引擎中引擎使用缓存占百分比
flushes 每秒执行fsync将数据写入硬盘的次数,WiredTiger存储引擎中,flushes是指WiredTiger循环创建检查点的时间间隔。每隔一段时间,mongodb就将内存上的数据写入硬盘,如果这个数值比较大的话,会影响性能
vsize mongod或mongos进程用掉的虚拟内存,以兆字节M表示
res 物理内存使用量,单位MB,即使用真实内存大小
qrw 客户端等待从MongoDB实例读、写操作的队列长度
arw 正在执行读、写操作的客户端数量
net_in MongoDB实例接收到的网络流量,用字节bytes表示,包括mongostat本身连接MongoDB实例产生的流量
net_out MongoDB实例发送出去的网络流量,用字节bytes表示,包括mongostat本身连接MongoDB实例产生的流量
conn 打开的连接数总数
time 时间戳
- mongotop
命令格式:
mongotop --username=admin --password=password --authenticationDatabase=admin --rowcount=10 2
选项说明:
--rowcount=10 打印状态行的总数
输出字段说明:
ns:数据库命名空间,后者结合了数据库名称和集合。
db:数据库的名称。名为 . 的数据库针对全局锁定,而非特定数据库。
total:mongod在这个命令空间上花费的总时间。
read:在这个命令空间上mongod执行读操作花费的时间。
write:在这个命名空间上mongod进行写操作花费的时间。