中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mongodb 慢查詢日志使用參考

發布時間:2020-06-09 18:00:23 來源:網絡 閱讀:3348 作者:春秋小記 欄目:MongoDB數據庫

mongodb的Profiling功能->慢查詢功能

    Profiling 把收集到的信息寫入到system.profile集合中,system.profile集合是一個capped collection。

1.定位mongodb慢查詢語句方法:
     開啟Profiling功能,通過定位慢查詢日志,找到執行比較慢的語句,然后進行優化,思路如下:
     a.查詢慢查詢日志(system.profile)找到超過定義時間的慢查詢語句;
     b.explain()查看執行計劃,可以參考如下文章:https://blog.51cto.com/1937519/2301699
     c.確定語句慢的原因,如缺少索引,業務批量問題等,思路與傳統的rdbms的sql優化等同;
   
2.開啟慢查詢:
   2.1:Profiling級別說明:
      a.0:關閉,不收集任何數據。
      b.1:收集慢查詢數據,默認是100毫秒。
      c.2:收集所有數據
    
   2.2:數據庫慢查詢配置(注意寫入配置文件,重啟后生效):
      a.查看狀態:級別和時間
      repsetzhou:PRIMARY> db.getProfilingStatus()
       { "was" : 1, "slowms" : 200 }

     b.查看級別
      repsetzhou:PRIMARY> db.getProfilingLevel()
      1

     c.設置級別
      repsetzhou:PRIMARY>  db.setProfilingLevel(2)
      { "was" : 1, "slowms" : 200, "ok" : 1 }

     d.確認設置級別:
      repsetzhou:PRIMARY> db.getProfilingLevel()
      2

     e.說明:設置級別和時間(1000 相當于1s)
      repsetzhou:PRIMARY> db.setProfilingLevel(1,1000) ###(包括級別、時間參數,時間是毫秒單位)
      { "was" : 2, "slowms" : 1000, "ok" : 1 }

2.3:在配置文件中開啟慢查詢:

     operationProfiling:
           slowOpThresholdMs: 200
           mode: slowOp

3.關閉Profiling:
      a.關閉:
      repsetzhou:PRIMARY> db.setProfilingLevel(0)
      { "was" : 2, "slowms" : 1000, "ok" : 1 }
      b.確認:
      repsetzhou:PRIMARY> db.getProfilingStatus()
      { "was" : 0, "slowms" : 1000 }

4.修改system.profile的大小:

    a.關閉Profiling:
      repsetzhou:PRIMARY> db.setProfilingLevel(0)
      { "was" : 0, "slowms" : 200, "ok" : 1 }
     b.刪除system.profile集合:
      repsetzhou:PRIMARY> db.system.profile.drop()
       true
     c.創建一個新的system.profile集合 - 10M:
      repsetzhou:PRIMARY>db.createCollection( "system.profile", { capped: true, size:10000000 } )
      { "ok" : 1 }
     d.重新開啟Profiling:
     repsetzhou:PRIMARY> db.setProfilingLevel(1)
      { "was" : 0, "slowms" : 200, "ok" : 1 }


5.1慢查詢(system.profile)分析:

   repsetzhou:PRIMARY> db.system.profile.find()

   a.查詢大于指定時間如500毫秒:

   db.system.profile.find({"millis":{$gte:500}})

   b.查詢指定時間慢查詢:

    db.system.profile.find(
                       {
                        ts : {
                              $gt : new ISODate("2018-10-22T03:01:45.976Z"),
                              $lt : new ISODate("2018-10-22T03:01:48.976Z")
                             }
                       }
                      )

    c.顯示5最近的事件:

    show profile

5.2:在mongodb的日志文件中同樣記錄慢查詢日志,如果system.profile已經被覆蓋,可以參考mongodb的后臺日志。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阿克苏市| 灵山县| 襄樊市| 剑河县| 商南县| 徐汇区| 桂阳县| 化州市| 偃师市| 安吉县| 靖边县| 百色市| 集安市| 宁强县| 临海市| 深圳市| 玛沁县| 龙江县| 阿勒泰市| 辽阳县| 贞丰县| 兴城市| 奉化市| 桃江县| 台江县| 崇阳县| 延津县| 镇赉县| 古丈县| 太仓市| 尤溪县| 福鼎市| 呼和浩特市| 乐平市| 肃宁县| 康乐县| 德钦县| 上林县| 阿城市| 南溪县| 漳平市|