• mongodb可以通过profile来监控数据 (mongodb性能优化)


    mongodb可以通过profile来监控数据 (mongodb性能优化)

     

    开启 Profiling  功能 ,对慢查询进行优化:

    mongodb可以通过profile来监控数据,进行优化。

    查看当前是否开启profile功能用命令

    db.getProfilingLevel()  返回level等级,值为0|1|2,分别代表意思:0代表关闭,1代表记录慢命令,2代表全部

    db.setProfilingLevel(level);  #level等级,值同上

    level为1的时候,慢命令默认值为100ms,更改为db.setProfilingLevel(level,slowms)如db.setProfilingLevel(1,50)这样就更改为50毫秒

    通过db.system.profile.find() 查看当前的监控日志。

    如:

    > db.system.profile.find({millis:{$gt:500}})
    { "ts" : ISODate("2011-07-23T02:50:13.941Z"), "info" : "query order.order reslen:11022 nscanned:672230  
    query: { status: 1.0 } nreturned:101 bytes:11006 640ms", "millis" : 640 }
    { "ts" : ISODate("2011-07-23T02:51:00.096Z"), "info" : "query order.order reslen:11146 nscanned:672302  
    query: { status: 1.0, user.uid: { $gt: 1663199.0 } }  nreturned:101 bytes:11130 647ms", "millis" : 647 }

     这里值的含义是

     ts:命令执行时间

    info:命令的内容

    query:代表查询

    order.order: 代表查询的库与集合

    reslen:返回的结果集大小,byte数

    nscanned:扫描记录数量

    nquery:后面是查询条件

    nreturned:返回记录数及用时

    millis:所花时间

    如果发现时间比较长,那么就需要作优化。

    比如nscanned数很大,或者接近记录总数,那么可能没有用到索引查询。

    reslen很大,有可能返回没必要的字段。

    nreturned很大,那么有可能查询的时候没有加限制。

    原文转自:http://my.oschina.net/baowenke/blog/97756

  • 相关阅读:
    项目数据分析师CPDA印章
    一点想法
    该减肥啦
    PMP证书到手
    Google App Engine之初体验
    转K线理论初级三
    黄小琥没那么简单
    使用webapp框架再现Hello World
    Google App Engine之介绍篇
    转股票中KDJ线的详细分析
  • 原文地址:https://www.cnblogs.com/williamjie/p/10094896.html
Copyright © 2020-2023  润新知