insert 每秒 插入/查询/更新/删除数mongostat --port 21000 --rowcount=1 | grep -v insert | awk '{print $1}'

query 每秒 插入/查询/更新/删除数mongostat --port 21000 --rowcount=1 | grep -v insert | awk '{print $1}'

update 每秒 插入/查询/更新/删除数mongostat --port 21000 --rowcount=1 | grep -v insert | awk '{print $1}'

delete 每秒 插入/查询/更新/删除数mongostat --port 21000 --rowcount=1 | grep -v insert | awk '{print $1}'

getmore 查询时游标的getmore操作数

command 每秒执行命令数.比如批量插入,只认为是一条命令。 意义不大

flushes 一秒内flush的次数,flush开销很大,如果频繁flush, 可能需要查查原因了

mapped  所有被mmap的数据量,单位是MB

vsize   虚拟内存使用量,如果 journaling开启,大约是mapped内存的二倍,如果内存是mapped内存的三倍或者更多可能会出现内存泄漏

res 物理内存使用量,res会慢慢的上升,如果res经常突然下降,去查查是否有别的程序狂吃内存。

faults 每秒访问失败数(只有Linux有),数据被交换出物理内存,放到swap。不要超过100,否则就是机器内存太小,造成频繁swap写入。此时要升级内存或者扩展

idxmiss % 索引不命中百分比,正常情况下,所有查询都应该通过索引,如果这里数值较大,是不是缺少索引。


"total" : 0, #当前等待获取锁的队列 moninfo["globalLock"]["currentQueue"]["total"]

"readers" : 0, #当前等待获取读锁的队列moninfo["globalLock"]["currentQueue"]["readers"]

"writers" : 0 #当前等待获取写锁的队列moninfo["globalLock"]["currentQueue"]["writers"]

"total" : 0, #当前活动的连接数moninfo["globalLock"]["activeClients"]["total"]

"readers" : 0, #当前活动的读连接数moninfo["globalLock"]["activeClients"]["readers"]

"writers" : 0 #当前活动的写连接数moninfo["globalLock"]["activeClients"]["writers"]

"current" : 2050, #当前的连接数moninfo["connections"]["current"]

"available" : 14350 #还可以用的连接数moninfo["connections"]["available"]


"flushes" : 250852, #数据库刷新数据到磁盘的次数 moninfo["backgroundFlushing"]["flushes"]

"total_ms" : 52897489,#数据库刷新数据到磁盘花费的时间,单位毫秒 moninfo["backgroundFlushing"]["total_ms"]

"average_ms" : 210.871306587151, #平均每次刷新磁盘花费的时间,单位毫秒。 moninfo["backgroundFlushing"]["average_ms"]

"last_ms" : 797, #最后一次刷新磁盘花费的时间,单位毫秒。 moninfo["backgroundFlushing"]["last_ms"]


"commits" : 27, #上一间隔journal日志发生commit的次数 moninfo["dur"]["commits"]

"journaledMB" : 0.114688, #上一间隔journal日志产生的数据量 moninfo["dur"]["journaledMB"]

"writeToDataFilesMB" : 0.13708, #上一间隔journal日志写到磁盘上的数据量 moninfo["dur"]["writeToDataFilesMB"]

"compression" : 0.8158085672418944, #journal日志压缩比 moninfo["dur"]["compression"]

"commitsInWriteLock" : 0, #多少次在journal日志提交时有写锁。 moninfo["dur"]["commitsInWriteLock"]

"earlyCommits" : 0,#在自动commit前,有多少次被要求commit moninfo["dur"]["earlyCommits"]

"dt" : 3087, #统计timeMs数据花费的时间,单位毫秒 moninfo["dur"]["timeMs"]["dt"]

"prepLogBuffer" : 0,#准备写journal日志花费的时间,单位毫秒,越少性能越好 moninfo["dur"]["timeMs"]["prepLogBuffer"]

"writeToJournal" : 246,#写journal日志花费的时间,单位毫秒 moninfo["dur"]["timeMs"]["writeToJournal"]

"writeToDataFiles" : 5,#在写journal日志后,向数据文件中写数据花费的时间 moninfo["dur"]["timeMs"]["writeToDataFiles"]

"remapPrivateView" : 1#重新映射数据花费的时间,时间越短性能越好。 moninfo["dur"]["timeMs"]["remapPrivateView"]