设为首页 收藏本站
查看: 1550|回复: 0

[经验分享] mongodb之查看状态的命令详解

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-10-23 10:15:17 | 显示全部楼层 |阅读模式
常用的参看 mongodb 状态的三个命令  db.stat() db.serverStatus() db.currentOp(),下面分别详细介绍一下

1  db.stat()

获取当前数据库的信息,比如Obj总数、数据库总大小、平均Obj大小等

SECONDARY> db.stats()
{
    "db" : "onroad",  #库名
    "collections" : 9, #集合数
    "objects" : 130751421,  // 记录在数据库中的所有文档总数
    "avgObjSize" : 559.257981907516,   // 数据库中所有文档的平均大小,等于 dataSize/objects  
    "dataSize" : 73123775840,  // 数据库所有文档的总大小,以字节为单位  ---> 73G
    "storageSize" : 80531728032,  // 分配给每一个文档的磁盘空间   
    "numExtents" : 162,  ,#事件数
    "indexes" : 14, #索引数
    "indexSize" : 19496636768, #索引大小
    "fileSize" : 332680921088,  #文件大小
    "nsSizeMB" : 16,  #命名空间文件的大小
    "dataFileVersion" : {  #包含 数据库文件的磁盘格式信息 的文档
        "major" : 4, #主要版本号的 磁盘格式数据库的数据文件
        "minor" : 5  #次要版本号
    },
    "extentFreeList" : {
        "num" : 436,
        "totalSize" : 229138838864
    },
    "ok" : 1
}


获取当前数据库中集合的信息

> db.gps_point.stats()
{
      "ns" : "onroad.gps_point",  #命名空间
      "count" : 51101154, #记录数
      "size" : 31394549796,  #大小
      "avgObjSize" : 614,
      "storageSize" : 32212257856,
      "numExtents" : 61,
      "nindexes" : 2,
      "lastExtentSize" : 16224256,
      "paddingFactor" : 1,
      "systemFlags" : 1,
      "userFlags" : 0,
      "totalIndexSize" : 5701353728,
      "indexSizes" : {
               "_id_" : 2655262288,   #索引为_id_的索引大小
               "user_id_1_data_time_-1" : 3046091440
      },
      "capped" : true,  #为固定大小集合
      "max" : NumberLong("9223372036854775807"),
      "ok" : 1
}

  2  db.serverStatus()

  获取服务器的状态

详细说明 参考 http://docs.mongoing.com/manual/ ... d/serverStatus.html

PRIMARY> db.serverStatus()
{
    "host" : "cd9a511a2d0e", #主机名
    "version" : "2.6.1", ,#版本号
    "process" : "mongod", #进程名
    "pid" : NumberLong(41), #进程ID
    "uptime" : 3785943,  #运行时间
    "uptimeMillis" : NumberLong("3785942955"),
    "uptimeEstimate" : 3755878,
    "localTime" : ISODate("2015-10-16T02:46:27.368Z"),  #当前时间
    "asserts" : {  #各个断言的数量
        "regular" : 0,
        "warning" : 0,
        "msg" : 0,
        "user" : 58,
        "rollovers" : 0
    },
    "backgroundFlushing" : {
        "flushes" : 63098,  #刷新次数
        "total_ms" : 144997713,  #刷新花费总时间
        "average_ms" : 2297.97637009097,  #平均时间
        "last_ms" : 10913,  #最后一次时间
        "last_finished" : ISODate("2015-10-16T02:45:40.363Z")  #最后刷新时间
    },
    "connections" : {
        "current" : 1444,  #当前连接数
        "available" : 18556,  #可用连接数
        "totalCreated" : NumberLong(2429949)
    },
    "cursors" : {
        "note" : "deprecated, use server status metrics",
        "clientCursors_size" : 1,  #客户端游标大小
        "totalOpen" : 1,  #打开游标数
        "pinned" : 0,
        "totalNoTimeout" : 481,
        "timedOut" : 84  #超时时间
    },
    "dur" : {
        "commits" : 27,
        "journaledMB" : 2.711552,
        "writeToDataFilesMB" : 5.213888,
        "compression" : 0.5158220112430492,
        "commitsInWriteLock" : 0,
        "earlyCommits" : 0,
        "timeMs" : {
            "dt" : 3003,
            "prepLogBuffer" : 1,
            "writeToJournal" : 228,
            "writeToDataFiles" : 10,
            "remapPrivateView" : 2
        }
    },
    "extra_info" : {
        "note" : "fields vary by platform",
        "heap_usage_bytes" : 96529464,  #堆使用情况(字节)
        "page_faults" : 11253067  #页面故障数
    },
    "globalLock" : {
        "totalTime" : NumberLong("3785942955000"),
        "lockTime" : NumberLong("47441423960"),
        "currentQueue" : {
            "total" : 0,
            "readers" : 0,
            "writers" : 0
        },
        "activeClients" : {
            "total" : 0,
            "readers" : 0,
            "writers" : 0
        }
    },
    "indexCounters" : {
        "accesses" : 5980339643,  #索引被访问数
        "hits" : 5980339322,  #索引命中数
        "misses" : 0,  #索引偏差数
        "resets" : 0,  #复位数
        "missRatio" : 0  #未命中率
    },
    "locks" : {
        "." : {
            "timeLockedMicros" : {
                "R" : NumberLong(1300731481),
                "W" : NumberLong("47441423960")
            },
            "timeAcquiringMicros" : {
                "R" : NumberLong("83350794378"),
                "W" : NumberLong("8842280365")
            }
        },
    },
    "network" : {
        "bytesIn" : 182494603618,  #输入数据(byte)
        "bytesOut" : NumberLong("2936449550300"),  #输出数据(byte)
        "numRequests" : 600302443 #请求数
    },
    "opcounters" : {
        "insert" : 214538892,  #插入操作数
        "query" : 388689,  #查询操作数
        "update" : 3462611, #更新操作数
        "delete" : 0, ,#删除操作数
        "getmore" : 188590632,  #获取更多的操作数
        "command" : 197825527  #其他命令操作数
    },
    "opcountersRepl" : {
        "insert" : 1,
        "query" : 0,
        "update" : 0,
        "delete" : 0,
        "getmore" : 0,
        "command" : 0
    },
    "recordStats" : {
        "accessesNotInMemory" : 8377141,
        "pageFaultExceptionsThrown" : 2926497,
        "admin" : {
            "accessesNotInMemory" : 94,
            "pageFaultExceptionsThrown" : 0
        }
    },
    "repl" : {  #复制情况
        "setName" : "c562ca6c-1d72-4c6a-a943-b46fe87e47ca",
        "setVersion" : 105039,
        "ismaster" : true,
        "secondary" : false,
        "hosts" : [
            "10.10.1.1:27017",
            "10.10.1.2:27017"
        ],
        "arbiters" : [
            "10.10.1.2:27017"
        ],
        "primary" : "10.10.1.4:27017",
        "me" : "10.10.1.5:27017"
    },
    "writeBacksQueued" : false,
    "mem" : {  #内存情况
        "bits" : 64,  #64位操作系统
        "resident" : 4430,  #占有物理内存数
        "virtual" : 813370,  #占有虚拟内存数
        "supported" : true, #是否支持内存扩展
        "mapped" : 405498,
        "mappedWithJournal" : 810996
    },
    "metrics" : {
        "cursor" : {
            "timedOut" : NumberLong(84),
            "open" : {
                "noTimeout" : NumberLong(481),
                "pinned" : NumberLong(0),
                "total" : NumberLong(1)
            }
        },
        "document" : {
            "deleted" : NumberLong(0),
            "inserted" : NumberLong(214538892),
            "returned" : NumberLong("6735629965"),
            "updated" : NumberLong(6502807)
        },
        "getLastError" : {
            "wtime" : {
                "num" : 0,
                "totalMillis" : 0
            },
            "wtimeouts" : NumberLong(0)
        },
        "operation" : {
            "fastmod" : NumberLong(3483995),
            "idhack" : NumberLong(39),
            "scanAndOrder" : NumberLong(6)
        },
        "queryExecutor" : {
            "scanned" : NumberLong(107218344),
            "scannedObjects" : NumberLong(107217952)
        },
        "record" : {
            "moves" : NumberLong(1604)
        },
        "repl" : {
            "apply" : {
                "batches" : {
                    "num" : 2,
                    "totalMillis" : 8
                },
                "ops" : NumberLong(1)
            },
            "buffer" : {
                "count" : NumberLong(0),
                "maxSizeBytes" : 268435456,
                "sizeBytes" : NumberLong(0)
            },
            "network" : {
                "bytes" : NumberLong(709),
                "getmores" : {
                    "num" : 18,
                    "totalMillis" : 86108
                },
                "ops" : NumberLong(2),
                "readersCreated" : NumberLong(35)
            },
            "preload" : {
                "docs" : {
                    "num" : 0,
                    "totalMillis" : 0
                },
                "indexes" : {
                    "num" : 1,
                    "totalMillis" : 0
                }
            }
        },
        "storage" : {
            "freelist" : {
                "search" : {
                    "bucketExhausted" : NumberLong(0),
                    "requests" : NumberLong(6551285),
                    "scanned" : NumberLong(12001208)
                }
            }
        },
        "ttl" : {
            "deletedDocuments" : NumberLong(0),
            "passes" : NumberLong(63048)
        }
    },
    "ok" : 1
}

需要关心的地方:

1  connections当前连接和可用连接数,听过一个同行介绍过,mongodb最大处理到2000个连接就不行了(要根据你的机器性能和业务来设定),所以设大了没意义。设个合理值的话,到达这个值mongodb就拒绝新的连接请求,避免被太多的连接拖垮。

2  indexCounters:btree:misses索引的不命中数,和hits的比例高就要考虑索引是否正确建立。


  3  db.currentOp()

  Mongodb 的命令一般很快就完成,但是在一台繁忙的机器或者有比较慢的命令时,你可以通过db.currentOp()获取当前正在执行的操作。

  在没有负载的机器上,该命令基本上都是返回空的

    如果你发现一个操作太长,把数据库卡死的话,可以用这个命令杀死他

> db.killOp("shard3:466404288")

这是一个负载比较高的  主从结构的 mongoDB中  主库 的结果  (insert操作)

> db.currentOp()
{
      "inprog" : [
               {
                       "opid" : 411,
                       "active" : false,
                       "op" : "none",
                       "ns" : "",
                       "query" : {
                                
                       },
                       "desc" : "repl writer worker 1",  # 和副本集之间的操作有关
                       "threadId" : "0x7f2f2203d700",
                       "waitingForLock" : false,
                       "numYields" : 0,
                       "lockStats" : {
                                "timeLockedMicros" : {
                                         "r" : NumberLong(0),
                                         "w" : NumberLong(8503)
                                },
                                "timeAcquiringMicros" : {
                                         
                                }
                       }
               },
{
                       "opid" : 1037017522,
                       "active" : true,
                       "secs_running" : 0,
                       "op" : "insert",  #操作名
                       "ns" : "onroad.gps_point",  #命名空间
                       "insert" : {
                                "_id" : ObjectId("56206e122dda660e74674bd1"),  #要插入数据的ID
                                "user_id" : 315936739,  #要插入的用户ID
                                "data" : "xxxxxxxx",  #要插入的数据
                                "data_time" : NumberLong(1444965431)
                       },
                       "client" : "10.10.1.2:46880",
                       "desc" : "conn2377693",
                       "threadId" : "0x7e6b91b13700",
                       "connectionId" : 2377693,
                       "locks" : {
                                "^onroad" : "W"
                       },
                       "waitingForLock" : true,
                       "numYields" : 0,
                       "lockStats" : {
                                "timeLockedMicros" : {
                                         
                                },
                                "timeAcquiringMicros" : {
                                         
                                }
                       }
               },




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-129883-1-1.html 上篇帖子: MongoDB 更新的简单使用 下篇帖子: mongodb之慢查询分析
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表