zoukankan      html  css  js  c++  java
  • MongoDB数据库性能分析(转)

    设置当前数据库日志级别:

    db.setProfilingLevel(n);
    引用
    n:
    0 - 关闭性能分析,测试环境可以打开,生成环境关闭,对性能有很大影响
    1 - 开启慢查询日志,执行时间大于100毫秒的语句
    2 - 开启所有操作日志


    获取当前数据库日志分析级别:

    db.getProfilingLevel();




    数据库的日志分析数据一般存放在当前数据库的 system.profile 集合中

    查看当前库下所有集合的分析数据

    db.system.profile.find()



    查看某一个集合的分析数据

    db.system.profile.find({info:/user.info/})



    查看执行时间大于100毫秒的执行操作,并倒序排列,并取前5行

    db.system.profile.find({millis:{$gt:100}}).sort({$natural:-1}).limit(5);



    分析执行操作的性能参数:

    query: { uid: 200001.0 }  nreturned:0 bytes:20", "millis" : 0 }
    { "ts" : "Tue Jun 01 2010 12:27:30 GMT+0800 (CST)", "info" : "query mosh.users ntoreturn:1000

    reslen:36 nscanned:1  
    query: { uid: 200001.0 }  nreturned:0 bytes:20", "millis" : 0 }
    { "ts" : "Tue Jun 01 2010 12:27:30 GMT+0800 (CST)", "info" : "query mosh.users ntoreturn:1000

    reslen:36 nscanned:1  



    参数介绍:

    引用
    ts:操作执行时的时间戳
    millis:执行操作所花的时间
    info:
            query:数据库查询操作,查询字段信息包括ntoreturn,query,nscanned,reslen,nreturned
                    ntoreturn:从查询中返回客户端指定的对象数
                    query:查询操作信息
                    nscanned:在执行查询操作的时候扫描了多少对象
                    reslen:查询结果的大小
                    nreturned:从查询中返回的结果对象


            update:数据库更新操作,
            insert:数据库插入操作
            getmore:大数据量查询



    查询优化
    1、如果nscanned 比 nreturned 大很多时,说明数据库扫描了很大对象才找到目标对象,因此需要为条件查

    询创建索引
    2、当返回的结果集很大时即reslen值相当大时,会影响性能下降,在做find查询时,需要添加第二个查询参数

    ,只获取需要显示的字段


    更新优化:
    1、检查nscanned字段,如果字段非常大,数据库需要扫描大量的对象才能查找到并更新,如果更新频率比较

    大的话,建议创建索引
    2、尽可能的使用快速的修改操作

  • 相关阅读:
    VS远程调试项目,利用msvsmon
    web deploy发布网站各种问题
    IOS中UITabBar、UIDatePicker、Picker View控件练习(二)
    IOS中多视图应用视图切换
    IOS中多视图应用设置首界面
    Asp.net中Application Session Cookie ViewState Cache Hidden
    UI控件(scrollView、tableView)的基本使用
    UI错误集
    UI小项目之拳皇动画的实现(抽取加载图片和播放音乐的方法)
    UI控件(Label、ImageView、Button)的基本使用
  • 原文地址:https://www.cnblogs.com/DxSoft/p/1857357.html
Copyright © 2011-2022 走看看