MongoDB ServerStatus返回信息
ServerStatus返回信息
ServerStatus返回mongodb中很多信息
http://docs.mongodb.org/manual/reference/command/serverStatus/
目录
1.实例信息
http://docs.mongodb.org/manual/reference/command/serverStatus/#instance-information
"host" : "Fanr-PC", //主机名 "version" : "2.4.9", //版本号 "process" : "D:\\Program Files\\Mongodb\\bin\\mongod.exe", //进程镜像名 "pid" : 4424, //进程id "uptime" : 9, //启动时间 "uptimeMillis" : NumberLong(9749), //启动时间毫秒 "uptimeEstimate" : 9, "localTime" : ISODate("2014-05-10T07:15:28.921Z"), //本地时间
2.锁
http://docs.mongodb.org/manual/reference/command/serverStatus/#serverStatus.locks
Mongodb中锁分为4种:r,R,w,W
R:表示全局读锁
W:全局写锁
r:指定数据库读锁,类似于sql server的意向锁
w:指定数据库写锁,类似于sql server的意向锁
db.serverStatus().locks
这里还没有其他数据库的信息,因为重启之后我还没有访问过,所以不会生产锁块
"locks" : { "." : { //全局锁信息 "timeLockedMicros" : { //锁定时间(毫秒) "R" :NumberLong(37751), "W" :NumberLong(72087) }, "timeAcquiringMicros" : { //获取时间(毫秒) "R" :NumberLong(39024), "W" :NumberLong(4492) } }, "admin" : { //admin数据库中锁信息 "timeLockedMicros" : { }, "timeAcquiringMicros" : { } }, "local" : { //local数据库锁信息 "timeLockedMicros" : { "r" : NumberLong(15646), "w" : NumberLong(0) }, "timeAcquiringMicros" : { "r" : NumberLong(92), "w" : NumberLong(0) } } },
3.全局锁
http://docs.mongodb.org/manual/reference/command/serverStatus/#server-status-global-lock
db.serverStatus().globalLock "globalLock" : { "totalTime" : NumberLong(682181000), //创建全局锁现在的时间(毫秒) "lockTime" : NumberLong(88208), //创建全局锁后锁定的时间(毫秒) "currentQueue" : { "total" : 0, //总共当前等待锁的个数 "readers" : 0, //总共当前等待读锁的个数 "writers" : 0 //总共当前等待写锁的个数 }, "activeClients" : { "total" : 0, //所有活动客户端 "readers" : 0, //所有读操作的客户端个数 "writers" : 0 //所有写操作的客户端个数 } },
4.内存使用
http://docs.mongodb.org/manual/reference/command/serverStatus/#mem
db.serverStatus().mem
{ "bits" : 64, //64bit还是32bit实例 "resident" : 43, //在物理内存中的数据(MB) "virtual" : 767, //虚拟内存(页面文件)使用(MB) //如果启动了journal,那么virtual至少是mapped2倍 "supported" : true, //为true表示支持系统扩展内存信息?? "mapped" : 320, //映射文件大小,手册里说和所有数据库大小的和相近, //但是不管新的实例,还是运行了一段时间的生产, //发现都不是怎么回事儿 "mappedWithJournal" : 640 //为journal提供内存一般是mapped的2倍 }
5.连接
http://docs.mongodb.org/manual/reference/command/serverStatus/#connections
db.serverStatus().connections
"connections" : { "current" : 1, //当前的连接 "available" : 19999, //可用连接 "totalCreated" : NumberLong(1) //所有创建过的连接 },
6.额外信息
http://docs.mongodb.org/manual/reference/command/serverStatus/#extra-info
db.serverStatus().extra_info
{ "note" : "fields vary by platform", //字段和平台有关,centos下只有2个 "page_faults" : 12789, //硬错误页 "usagePageFileMB" : 73, //页面文件使用大小MB "totalPageFileMB" : 8058, //页面文件总大小 "availPageFileMB" : 3521, //可用页面文件大小 "ramMB" : 4030 //物理内存大小 "heap_usage_bytes" : 76413680, //linux或者unix下才有的字段, //占用heap字节个数 }
7.索引计数器
http://docs.mongodb.org/manual/reference/command/serverStatus/#indexcounters
db.serverStatus().indexCounters
{ "accesses" : 101216836, //访问次数 "hits" : 101216836, //命中次数 "misses" : 0, //miss次数 "resets" : 0, //indexCounders重置次数 "missRatio" : 0 //miss率 }
8.cursors
http://docs.mongodb.org/manual/reference/command/serverStatus/
db.serverStatus().cursors
"cursors" : { "totalOpen" : 0, //mongodb维护的游标个数 "clientCursors_size" : 0, //和totalOpen一样 "timedOut" : 0 //超时个数 },
9.网络
http://docs.mongodb.org/manual/reference/command/serverStatus/#network
db.serverStatus().network
"network" : { "bytesIn" : 7510, //输入字节数 "bytesOut" : 41684, //输出字节数 "numRequests" : 94 //请求次数 },
10.复制集
http://docs.mongodb.org/manual/reference/command/serverStatus/#repl
db.serverStatus().repl
{ "setName" : "tiansign_ub", //复制集名称 "ismaster" : true, //是不是primary "secondary" : false, //是不是secondary "hosts" : [ //复制集成员 "192.168.10.69:27017", "192.168.10.60:27017", "192.168.10.52:27017" ], "primary" : "192.168.10.69:27017",//primary地址 "me" : "192.168.10.69:27017" //本地地址 }
11.复制集操作集数
http://docs.mongodb.org/manual/reference/command/serverStatus/#opcountersrepl
总体和opcounter类似
db.serverStatus().opcountersRepl
{ "insert" : 383, "query" : 0, "update" : 0, "delete" : 0, "getmore" : 0, "command" : 0 }
12.操作计数器
http://docs.mongodb.org/manual/reference/command/serverStatus/#opcounters
db.serverStatus().opcounters
{ "insert" : 15, "query" : 1179, "update" : 0, "delete" : 0, "getmore" : 0, "command" : 82 }
13.断言
http://docs.mongodb.org/manual/reference/command/serverStatus/#asserts
db.serverStatus().asserts
"asserts" : { "regular" : 0, //断言正常计数 "warning" : 0, //警告 "msg" : 0, //消息 "user" : 0, //用户断言计数 "rollovers" : 0 // },
14.writeBackQueued
db.serverStatus().writeBacksQueued
true:有要被重新执行的操作
false:没有要被重新执行的操作
15.Journal(dur)持久性
http://docs.mongodb.org/manual/reference/command/serverStatus/#journaling-dur
db.serverStatus().dur
{ "commits" : 29, //上次提交间隔(journal group commit interval)之后, //提交的写入操作 "journaledMB" : 0.12288, //上次分组提交间隔之后,写入操作的大小 "writeToDataFilesMB" : 0.046255, //上次分组提交间隔之后, //从journal写入到数据文件的大小 "compression" : 2.335411281739395, //写入到journal的压缩率, //journal的大小/未压缩的数据大小 "commitsInWriteLock" : 0, //提交发生的时候有写锁 //用来表示写入负载是否过重 "earlyCommits" : 0, //在提交间隔过来前,请求提交的次数 //用来判断分组提交间隔时间是否合适 //和commits有写区别,看不出有啥用 "timeMs" : { "dt" : 3002, //获取这些数据花的时间 "prepLogBuffer" : 0, //准备写入到journal文件的数据的时间 //PREPLOGBUFFER 代码 "writeToJournal" : 24, //写入Journal文件的时间 //WRITETOJOURNAL "writeToDataFiles" : 4, //写入数据文件的时间, WRITETODATAFILES "remapPrivateView" : 0 //重新映射的时间,REMAPPRIVATEVIEW } }
16.recordStats
http://docs.mongodb.org/manual/reference/command/serverStatus/#recordstats
db.serverStatus().recordStats
{ "accessesNotInMemory" : 0, //访问数据不在内存次数 "pageFaultExceptionsThrown" : 0, //页面错误异常抛出个数 //和extra_info中的页面错误有区别 //这里只反映记录访问时的页错误 "admin" : { //admin数据库 "accessesNotInMemory" : 0, "pageFaultExceptionsThrown" : 0 }, "local" : { "accessesNotInMemory" : 0, "pageFaultExceptionsThrown" : 0 }, "test" : { "accessesNotInMemory" : 0, "pageFaultExceptionsThrown" : 0 } }
17.工作集(workingSet)
http://docs.mongodb.org/manual/reference/command/serverStatus/#workingset
db.serverStatus({workingSet:1}).workingSet
"workingSet" : { "note" : "thisIsAnEstimate", //只是一个评估 "pagesInMemory" : 9, //在overSeconds时间内 //被mongodb放问的内存页个数 "computationTimeMicros" : 5073, //生成workingSet花的时间 "overSeconds" : 18117 //最老和最新数据页间隔时间 //不管时间多长,pageInMemory<=RAM },
18.指标(metrics)
http://docs.mongodb.org/manual/reference/command/serverStatus/#metrics
{ "document" : { //文档指标,反映文档插入删除操作 "deleted" : NumberLong(0), "inserted" : NumberLong(15), "returned" : NumberLong(44), "updated" : NumberLong(0) }, "getLastError" : { "wtime" : { //getLastError中w>1的操作指标 "num" : 14, //数量 "totalMillis" : 0 //处理时间 }, "wtimeouts" : NumberLong(0) //超时个数,时间来getLastError中参数 }, "operation" : { "fastmod" : NumberLong(0), //表示不用扩容和修改索引的update "idhack" : NumberLong(0), //以_id为过滤条件的查询 "scanAndOrder" : NumberLong(0) //不需要执行排序的sort }, "queryExecutor" : { "scanned" : NumberLong(2602) //被扫描个数 }, "record" : { "moves" : NumberLong(0) //文档移动次数,一般是为了扩展文档 }, "repl" : { "apply" : { //指被应用的oplog "batches" : { //batch被应用的次数,操作是被分批处理的 "num" : 0, //应用次数 "totalMillis" : 0 //应用时长 }, "ops" : NumberLong(0) //被应用的操作个数 }, "buffer" : { //用来缓存从复制同步支援过来的oplog的操作 "count" : NumberLong(0), //buffer中操作个数 "maxSizeBytes" : 268435456, //buffer最大大小 "sizeBytes" : NumberLong(0) //现在buffer的大小 }, "network" : { "bytes" : NumberLong(0), //从复制同步资源读取的量 "getmores" : { "num" : 0, "totalMillis" : 0 }, "ops" : NumberLong(0), //从复制同步资源读取的操作数 "readersCreated" : NumberLong(0)//创建oplog读取进程个数 }, "oplog" : { "insert" : { //插入到oplog的个数 "num" : 0, "totalMillis" : 0 }, "insertBytes" : NumberLong(0) //插入的数据量 }, "preload" : { //预读 "docs" : { //预读文档个数 "num" : 0, "totalMillis" : 0 }, "indexes" : { //预读索引项个数 "num" : 0, "totalMillis" : 0 } } }, "ttl" : { "deletedDocuments" : NumberLong(0), //TTL索引删除文档个数 "passes" : NumberLong(426) //TTL索引过期文档个数 } }