关于mongodb慢查询

1. 开启慢查询

  > db.setProfilingLevel(2); 
  {"was" : 0 , "ok" : 1} 

  上面斜体的级别可以取0,1,2 三个值,他们表示的意义如下:
  0 – 不开启
  1 – 记录慢命令 (默认为>100ms)
  2 – 记录所有命令

db.setProfilingLevel( 1 , 10 );

记录大于10ms的

1.2 启动时的设定方式

mongod --profile=1 --slowms=15

2 检查状态

 db.getProfilingStatus();
/* 0 */
{
    "was" : 2,
    "slowms" : 10
}
db.getProfilingLevel();
2

3 分析慢查询

输入命令

db.system.profile.find( { millis : { $gt : 5 } } ).pretty();

返回

/* 0 */
{
    "op" : "update",
    "ns" : "game_rpg.achieve",
    "query" : {
        "user_id" : "DDF7CD313E1F7468EC4D4772C649C999",
        "current_id" : 1
    },
    "updateobj" : {
        "$set" : {
            "progress" : 3,
            "is_complete" : false,
            "is_reward" : false
        }
    },
    "nscanned" : 8410,
    "nupdated" : 1,
    "fastmod" : true,
    "keyUpdates" : 0,
    "numYield" : 0,
    "lockStats" : {
        "timeLockedMicros" : {
            "r" : NumberLong(0),
            "w" : NumberLong(6119)
        },
        "timeAcquiringMicros" : {
            "r" : NumberLong(0),
            "w" : NumberLong(10)
        }
    },
    "millis" : 6,
    "ts" : ISODate("2015-10-26T17:17:01.666+08:00"),
    "client" : "115.28.176.134",
    "allUsers" : [],
    "user" : ""
}

ts:时间戳
op: 操作类型
ns:执行操作的对象集合
millis:操作所花时间,毫秒
client: 执行操作的客户端
user: 执行操作的mongodb连接用户

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值