MongoDB性能监控

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
}
View Code

  "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
View Code

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                      
View Code

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
    },
View Code

 5:db.serverStatus().mem

> db.serverStatus().mem
{
    "bits" : 64,
    "resident" : 276,
    "virtual" : 1365,
    "supported" : true,
    "mapped" : 0,
    "mappedWithJournal" : 0
}
View Code

  virtual:虚拟内存的大小

  mapped:映射到内存的数据大小

原文地址:https://www.cnblogs.com/s6-b/p/11358720.html