账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    关于一个shard的从库为什么要去统计另一个shard中的库
    45
    0

    mongo集群

    mongos> sh.status()
    databases:
        {  "_id" : "foo",  "primary" : "shard1",  "partitioned" : false }
        {  "_id" : "bar",  "primary" : "shard0",  "partitioned" : false }
    

    访问shard1的从

    mongo 127.0.0.1:28010
    

    在mongo shell中执行如下命令

    shard1:SECONDARY> db.currentOp(    {      "active" : true,      "secs_running" : { "$gt" : 10 }    } )
    
        {
      "desc": "conn1041165",
      "threadId": "139624352057088",
      "connectionId": 1041165,
      "client": "192.168.0.1:54368",
      "active": true,
      "opid": 61729430,
      "secs_running": 42746,
      "microsecs_running": NumberLong("42746814047"),
      "op": "command",
      "ns": "bar",
      "query": {
        "dbstats": 1
      },
      "numYields": 0,
      "locks": {
        "Global": "r"
      },
      "waitingForLock": false,
      "lockStats": {
        "Global": {
          "acquireCount": {
            "r": NumberLong(1)
          }
        }
      }
    }
    ],
    "ok": 1
    }
    ...
    

    奇怪的是 发现有很多上述的查询 shard1的从干嘛要去统计shard0的库呢? 并且为什么执行时间还这么久 差不多执行了12个小时

    "dbstats":1 是对应下面的命令吗

    > db.stats()
    {
        "db" : "test",
        "collections" : 73,
        "objects" : 246794,
        "avgObjSize" : 2915.7151713574885,
        "dataSize" : 719581010,
        "storageSize" : 787140608,
        "numExtents" : 0,
        "indexes" : 85,
        "indexSize" : 11505664,
        "ok" : 1
    }
    
    
    
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部