1:db.stats()
> db.stats() { "db" : "zt_power", "collections" : 4, "views" : 0, "objects" : 153889433, "avgObjSize" : 259.40949584238183, "dataSize" : 39920380230, "storageSize" : 5998202880, "numExtents" : 0, "indexes" : 6, "indexSize" : 2928861184, "fsUsedSize" : 69364961280, "fsTotalSize" : 482947891200, "ok" : 1 }
"objects" : 表示当前数据库所有集合总共有多少条数据 等价于每个集合的db.集合.find().count()的总和
"avgObjSize" : 表示每行数据是大小,估计值,单位是bytes
"dataSize" :表示当前数据库所有数据的总大小,不是指占有磁盘大小。单位是bytes标识比特,用b表示。1024b=1kb 1G=1024MB 1MB=1024kb 1KB=1024b
"storageSize" : 表示当前数据库占有磁盘大小,单位是bytes,因为mongodb有预分配空间机制,为了防止当有大量数据插入时对磁盘的压力,因此会事先多分配磁盘空间
"indexSize" :表示索引占有磁盘大小。单位是bytes
"fsTotalSize":表示当前数据库预分配的文件大小
2: mongostat
[root@localhost bin]# mongostat insert query update delete getmore command dirty used flushes vsize res qrw arw net_in net_out conn time 609 *0 *0 *0 0 2|0 0.4% 66.9% 0 4.15G 3.13G 0|0 1|0 209k 102k 5 Aug 15 15:57:02.146 463 *0 *0 *0 0 1|0 0.4% 67.0% 0 4.15G 3.13G 0|0 1|0 159k 91.8k 5 Aug 15 15:57:03.149 1502 *0 *0 *0 0 2|0 0.4% 67.0% 0 4.15G 3.13G 0|0 1|0 522k 154k 5 Aug 15 15:57:04.146 864 *0 *0 1 0 4|0 0.4% 67.0% 0 4.15G 3.13G 0|0 1|0 307k 116k 5 Aug 15 15:57:05.146 1291 *0 *0 *0 0 2|0 0.5% 67.0% 0 4.15G 3.13G 0|0 1|0 470k 142k 5 Aug 15 15:57:06.146 853 *0 *0 *0 0 2|0 0.5% 67.0% 0 4.15G 3.13G 0|0 1|0 295k 115k 5 Aug 15 15:57:07.146 1100 *0 *0 *0 0 2|0 0.5% 67.1% 0 4.15G 3.13G 0|0 1|0 384k 130k 5 Aug 15 15:57:08.145 882 *0 *0 *0 0 1|0 0.5% 67.1% 0 4.15G 3.13G 0|0 1|0 314k 117k 5 Aug 15 15:57:09.145 663 *0 *0 *0 0 1|0 0.5% 67.1% 0 4.15G 3.13G 0|0 1|0 230k 104k 5 Aug 15 15:57:10.147 665 *0 *0 *0 0 2|0 0.5% 67.1% 0 4.15G 3.13G 0|0 1|0 239k 104k 5 Aug 15 15:57:11.146
mongostat是mongdb自带的状态检测工具,在命令行下使用。它会间隔固定时间获取mongodb的当前运行状态,并输出。如果你发现数据库突然变慢或者有其他问题的话,你第一手的操作就考虑采用mongostat来查看mongo的状态。
3:mongotop 记录具体库表的耗时
[root@localhost bin]# mongotop 2019-08-15T16:00:46.049+0800 connected to: 127.0.0.1 ns total read write 2019-08-15T16:00:47+08:00 zt_power.data645 40ms 0ms 40ms admin.$cmd.aggregate 0ms 0ms 0ms admin.system.roles 0ms 0ms 0ms admin.system.users 0ms 0ms 0ms admin.system.version 0ms 0ms 0ms config.system.sessions 0ms 0ms 0ms local.startup_log 0ms 0ms 0ms local.system.replset 0ms 0ms 0ms zt_power.deviceLogBack0809 0ms 0ms 0ms zt_power.jsonBack0809 0ms 0ms 0ms ns total read write 2019-08-15T16:00:48+08:00 zt_power.data645 32ms 0ms 32ms admin.$cmd.aggregate 0ms 0ms 0ms admin.system.roles 0ms 0ms 0ms admin.system.users 0ms 0ms 0ms admin.system.version 0ms 0ms 0ms config.system.sessions 0ms 0ms 0ms local.startup_log 0ms 0ms 0ms local.system.replset 0ms 0ms 0ms zt_power.deviceLogBack0809 0ms 0ms 0ms zt_power.jsonBack0809 0ms 0ms 0ms
4:db.serverStatus() 查看链接数 connections
> db.serverStatus() { "host" : "localhost.localdomain", "version" : "4.0.10", "process" : "mongod", "pid" : NumberLong(31666), "uptime" : 171163, "uptimeMillis" : NumberLong(171163680), "uptimeEstimate" : NumberLong(171163), "localTime" : ISODate("2019-08-15T08:04:45.966Z"), "asserts" : { "regular" : 0, "warning" : 0, "msg" : 0, "user" : 7, "rollovers" : 0 }, "connections" : { "current" : 5, "available" : 51195, "totalCreated" : 42, "active" : 1 },
5:db.serverStatus().mem
> db.serverStatus().mem { "bits" : 64, "resident" : 276, "virtual" : 1365, "supported" : true, "mapped" : 0, "mappedWithJournal" : 0 }
virtual:虚拟内存的大小
mapped:映射到内存的数据大小