MongoDB状态查询详解:db.serverStatus()(一)

2015-01-25 20:08:17 · 作者: · 浏览: 9

基本信息

spock:PRIMARY>db.serverStatus()

{

"host" :"h6.corp.yongche.org", //主机名

"version" :"2.6.2", //mongodb版本

"process" :"mongod", //mongodb进程,主要有mongod和mongos(分片集群中)两种

"pid" : NumberLong(4205), //mongod的pid进程号,可用shell的pidof mongod命令验证

"uptime" : 173120, //mongod服务启动后到现在已经存活的秒数

"uptimeMillis" :NumberLong(173119573), / /mongod服务启动后到现在已经存活的毫秒数

"uptimeEstimate" : 172173, //mongod内部计算出来的存活秒数

"localTime" :ISODate("2014-12-31T06:41:01.029Z") //本地时间

?

?

锁信息

Mongodb有4种锁:r,R,w,W

R:表示全局读锁

W:全局写锁

r:某个数据库读锁

w:某个数据库写锁

?

spock:PRIMARY>db.serverStatus().locks

{

"." : {

"timeLockedMicros": {

"R" :NumberLong(2532219), //mongod启动后所有库持有全局读锁的总微秒数

"W" :NumberLong(2022505) // mongod启动后所有库持有全局写锁的总微秒数

},

"timeAcquiringMicros": {

"R" :NumberLong(1489378), // mongod启动后所有库全局读锁的锁等待的总微秒数

"W" :NumberLong(361350) // mongod启动后所有库全局写锁的锁等待的总微秒数

}

},

"admin" : {

"timeLockedMicros": {

"r" :NumberLong(277350), // mongod启动后admin数据库持有的读锁时间

"w" :NumberLong(0) // mongod启动后admin数据库持有的写锁时间

},

"timeAcquiringMicros": {

"r" :NumberLong(11011), // mongod启动后admin数据库的读锁的锁等待总时间

"w" :NumberLong(0) // mongod启动后admin数据库的读锁的锁等待总时间

}

},

"local" : {

"timeLockedMicros": {

"r" :NumberLong(29750564),

"w" :NumberLong(737)

},

"timeAcquiringMicros": {

"r" :NumberLong(4074456),

"w" :NumberLong(46)

}

},

"jiangjianjian" : {

"timeLockedMicros": {

"r" :NumberLong(935802), //mongod启动后jiangjianjian数据库持有的读锁时间

"w" :NumberLong(98) // mongod启动后jiangjianjian数据库持有的写锁时间

},

"timeAcquiringMicros": {

"r" :NumberLong(262185), // mongod启动后jiangjianjian数据库的读锁的锁等待总时间

"w" : NumberLong(9) // mongod启动后jiangjianjian数据库的写锁的锁等待总时间

}

},

"test" : {

"timeLockedMicros": {

"r" :NumberLong(719696),

"w" :NumberLong(141)

},

"timeAcquiringMicros": {

"r" :NumberLong(332797),

"w" :NumberLong(10)

}

}

}

?

全局锁信息

spock:PRIMARY>db.serverStatus().globalLock

{

"totalTime" :NumberLong("172059990000"), //mongod启动后到现在的总时间,单位微秒

"lockTime" :NumberLong(2031058), //mongod启动后全局锁锁住的总时间,单位微秒

"currentQueue" : {

"total" : 0, //当前的全局锁等待锁等待的个数

"readers" : 0, //当前的全局读锁等待个数

"writers" : 0 //当前全局写锁等待个数

},

"activeClients" : {

"total" : 0, //当前活跃客户端的个数

"readers" : 0, //当前活跃客户端中进行读操作的个数

"writers" : 0 //当前活跃客户端中进行写操作的个数

}

}

?

内存信息

bj1-farm1:PRIMARY>db.serverStatus().mem

{

"bits" : 64, //操作系统位数

"resident" : 45792, //物理内存消耗,单位M

"virtual" : 326338, //虚拟内存消耗

"supported" : true, //为true表示支持显示额外的内存信息

"mapped" : 161399, //映射内存

"mappedWithJournal" : 322798 //除了映射内存外还包括journal日志消耗的映射内存

}

关于mongodb内存的介绍可参考我的blog

http://blog.csdn.net/cug_jiang126com/article/details/42264895

?

连接数信息

bj1-farm1:PRIMARY>db.serverStatus().connections

{

"current" : 2581, //当前连接数

"available" : 48619, //可用连接数

"totalCreated" :NumberLong(187993238) //截止目前为止总共创建的连接数

}

可看到当前mongod的最大连接数即为51200=2581+48619

?

额外信息

bj1-farm1:PRIMARY>db.serverStatus().extra_info

{

"note" : "fields vary byplatform", //表示当前这个extra_info的显示信息依赖于底层系统

"heap_usage_bytes" :206033064, //堆内存空间占用的字节数,仅linux适用

"page_faults" : 11718117 //数据库访问数据时发现数据不在内存时的页面数量,当数据库性能很差或者数据量极大时,这个值会显著上升

}

?

索引统计信息

bj1-farm1:PRIMARY>db.serverStatus().indexCounters

{

"accesses" : 35369670951, //索引访问次数,值越大表示你的索引总体而言建得越好,如果值增长很慢,表示系统建的索引有问题

"hits" : 35369213426, //索引命中次数,值越大表示mogond越好地利用了索引

"misses" : 0, //表示mongod试图使用索引