zoukankan      html  css  js  c++  java
  • MongoDB副本集配置系列八:MongoDB监控

    1:Mongostat

    MongoDB2.6版本

    MongoDB3.0版本

    2:db.setProfilingLevel(2):打开profiler

    类似于MySQL的slow log

    Profiler默认是关闭的,你可以选择全部开启,或者有慢查询的时候开启。

    db.setProfilingLevel(level,<slowms>) 0=off 1=slow 2=all

    > use test
    switched to db test
    > db.setProfilingLevel(2)
    2015-07-01T00:24:49.770-0700 trying reconnect to 127.0.0.1:27017 (127.0.0.1) failed
    2015-07-01T00:24:49.774-0700 reconnect 127.0.0.1:27017 (127.0.0.1) ok
    { "was" : 0, "slowms" : 100, "ok" : 1 }
    > db.getProfilingLevel()
    2
    > db.system.profile.find().sort({$natural:-1})
    
    • ts:时间戳
    • info:具体的操作
    • millis:操作所花时间,毫秒

    3:--httpinterface --rest:打开Web控制台

    如果需要打开web控制台的话,需要在mongod启动的时候加上--httpinterface --rest

    4 db.stats():获取当前数据库信息

    > db.stats()
    {
    	"db" : "test",
    	"collections" : 6,
    	"objects" : 2309992,
    	"avgObjSize" : 48.00180260364538,
    	"dataSize" : 110883780,
    	"storageSize" : 198164480,
    	"numExtents" : 27,
    	"indexes" : 3,
    	"indexSize" : 74990272,
    	"fileSize" : 469762048,
    	"nsSizeMB" : 16,
    	"dataFileVersion" : {
    		"major" : 4,
    		"minor" : 5
    	},
    	"extentFreeList" : {
    		"num" : 0,
    		"totalSize" : 0
    	},
    	"ok" : 1
    }
    

      

    5:db.serverStatus():获取服务器当前的状态信息

    > db.serverStatus()
    {
    	"host" : "localhost.localdomain",
    	"version" : "2.6.9",
    	"process" : "mongod",
    	"pid" : NumberLong(22871),
    	"uptime" : 1558,
    	"uptimeMillis" : NumberLong(1558300),
    	"uptimeEstimate" : 1428,
    	"localTime" : ISODate("2015-07-01T07:30:33.497Z"),
    	"asserts" : {
    		"regular" : 0,
    		"warning" : 0,
    		"msg" : 0,
    		"user" : 1,
    		"rollovers" : 0
    	},
    	"backgroundFlushing" : {
    		"flushes" : 25,
    		"total_ms" : 2,
    		"average_ms" : 0.08,
    		"last_ms" : 0,
    		"last_finished" : ISODate("2015-07-01T07:29:35.233Z")
    	},
    ………
    }
    

    需要注意两个地方:

    connections 当前连接和可用连接数,到2000个连接就属于比较多的(要根据你的机器性能和业务来设定),所以设大了没意义。设个合理值的话,到达这个值mongodb就拒绝新的连接请求,避免被太多的连接拖垮。
    indexCounters:btree:misses 索引的不命中数,和hits的比例高就要考虑索引是否正确建立。

      

    6:db.currentOp():查看当前正在执行的操作

    > db.currentOp()
    
    { "opid" : "shard3:466404288", "active" : false, "waitingForLock" : false, "op" : "query", "ns" : "sd.usersEmails", "query" : { }, "client_s" : "10.121.13.8:34473", "desc" : "conn" }
    

    如果需要可以kill掉:

    db.killOp("shard3:466404288")
    

      

      

     

  • 相关阅读:
    摄影中的曝光补偿、白加黑减
    Excel表格中如何实现多列的同时筛选
    Excel表格中如何实现多列的同时筛选
    2013深圳茶博会
    2013深圳茶博会
    DiskTool 分区助手 - 免费易用的中文版“无损分区魔术师”!(完美支持Win7/32与64位系
    来自法国的山寨苹果系统——梨子系统PearOS,精美仿苹果风格的免费Linux操作系统(颇有iOS和OSX的神
    来自法国的山寨苹果系统——梨子系统PearOS,精美仿苹果风格的免费Linux操作系统(颇有iOS和OSX的神
    顺序stack的实现
    内核链表和普通链表的理解
  • 原文地址:https://www.cnblogs.com/xiaoit/p/4613402.html
Copyright © 2011-2022 走看看