真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯網站制作重慶分公司

mongodb慢查詢日志使用參考-創(chuàng)新互聯

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

目前創(chuàng)新互聯已為近千家的企業(yè)提供了網站建設、域名、虛擬主機網站托管、企業(yè)網站設計、包頭網站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協力一起成長,共同發(fā)展。

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

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

   a.關閉Profiling:
     repsetzhou:PRIMARY> db.setProfilingLevel(0)
     { "was" : 0, "slowms" : 200, "ok" : 1 }
    b.刪除system.profile集合:
     repsetzhou:PRIMARY> db.system.profile.drop()
      true
    c.創(chuàng)建一個新的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的后臺日志。

另外有需要云服務器可以了解下創(chuàng)新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。


文章名稱:mongodb慢查詢日志使用參考-創(chuàng)新互聯
網站網址:http://weahome.cn/article/cssies.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部