最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MongoDB數(shù)據(jù)庫查看慢查詢級別以及慢查詢日志

 更新時間:2023年05月24日 10:55:23   作者:阿福Chris  
最近項目上一直在用mongodb作為數(shù)據(jù)庫,mongodb有他的優(yōu)勢,文檔型類json格式存儲數(shù)據(jù),修改起來更方便,但是最近在用mongodb出現(xiàn)了查詢緩慢的問題,這篇文章主要給大家介紹了關于MongoDB數(shù)據(jù)庫查看慢查詢級別以及慢查詢日志的相關資料,需要的朋友可以參考下

1. MongoDB 慢查詢記錄功能簡介

如何定位 MongoDB 數(shù)據(jù)庫的慢查詢,我想應該是很多剛使用 MongoDB 數(shù)據(jù)庫的朋友最想知道的問題。通過慢查詢的定位,可以輔助對 MongoDB 中的 collection 進行優(yōu)化。

MongoDB 數(shù)據(jù)庫的慢查詢數(shù)據(jù)其實存放在一個數(shù)據(jù)庫集合 ( collection ) 中(system.profile),如果你不主動創(chuàng)建 system.profile 這個集合,那這個集合就固定1M大小,當慢查詢記錄超過1M,就會將歷史數(shù)據(jù)覆蓋,循環(huán)使用,所以在這里需要根據(jù)業(yè)務實際情況設置集合大小。

在 MongoDB 中慢查詢功能(Profiling)設置有三個級別,分別代表如下含義:

  • 0:代表關閉,不收集任何慢查詢
  • 1:收集慢查詢數(shù)據(jù),默認收集超過100毫秒的慢查詢
  • 2:收集任何操作記錄數(shù)據(jù)

可以通過在 MongoDB 中執(zhí)行如下命令查看當前數(shù)據(jù)庫的配置,需要特別注意的是,如果你在某一數(shù)據(jù)庫中調整了該設置,那么該操作只對該數(shù)據(jù)庫有效,其他數(shù)據(jù)庫仍需要單獨設置:

use test
'switched to db test'
db.getProfilingStatus()
{ was: 1, slowms: 1000, sampleRate: 1, ok: 1 }

2. 如何設置慢查詢

2.1 檢查慢查詢是否開啟

執(zhí)行 db.getProfilingStatus() 查詢數(shù)據(jù)庫,返回結果是 was: 0 代表 MongoDB 沒有開啟慢查詢功能;對應的如果不是 0 則表示開啟了慢查詢監(jiān)控功能。

2.2 開啟慢查詢功能

如果你想指定監(jiān)控慢查詢在某一毫秒值之上的查詢,例如超過 1000 毫秒的查詢被記錄,可以通過如下語句進行設置:

db.setProfilingLevel(1, {<!--{C}%3C!%2D%2D%20%2D%2D%3E--> slowms: 1000 })

下面這個例子表示將慢查詢的級別設置為 2

db.setProfilingLevel(2)
{ was: 1, slowms: 500, sampleRate: 1, ok: 1 }
db.getProfilingStatus()
{ was: 2, slowms: 500, sampleRate: 1, ok: 1 }

關掉慢查詢功能

db.setProfilingLevel(0)

3. 如何查詢慢查詢日志

假設上面我們已經(jīng)開啟了慢查詢監(jiān)控功能,那在數(shù)據(jù)庫使用過程中,會將 1000 ms 以上的執(zhí)行查詢進行記錄,下面我們來看一下如何查詢這些慢查詢。

3.1 慢查詢日志查看

查詢最近的 10 個慢查詢日志 (運行時間大于等于 8000 毫秒)

db.system.profile.find({"millis":{$gte:8000}}).limit(10).sort( { ts : -1 } ).pretty()

查詢大于 100 秒的日志

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

查詢時間從 2023-01-03 15 點整到 2023-01-03 15點30分 之間的日志

db.system.profile.find({ts : {$gt: new ISODate("2023-01-03T07:00:00Z"),$lt: new ISODate("2023-01-03T07:30:00Z")}}).pretty()

備注:注意 Mongo 里面存儲的 ISO 時間是格林尼治時間,我們當前CST時間為北京時間,需要在 ISO 上 +8,所以你可以看到上面我查詢輸入的時間為 7 點,但實際上查詢的是 15 點的數(shù)據(jù)。

補充:mongodb慢查詢了怎么辦

如果你的 MongoDB 數(shù)據(jù)庫中出現(xiàn)了慢查詢,你可以嘗試以下幾種方法來解決問題:

找出導致慢查詢的原因:

使用 MongoDB 的 explain() 方法來分析查詢的執(zhí)行計劃,找出導致慢查詢的原因。

啟用 MongoDB 的慢查詢日志功能,記錄慢查詢的詳細信息,并分析日志中出現(xiàn)的問題。

優(yōu)化查詢:

盡量使用索引來優(yōu)化查詢,避免使用全表掃描。

盡量減少查詢中的返回字段數(shù)量,只返回必要的字段。

使用合適的查詢方式,例如使用 $in 代替 OR 運算符。

優(yōu)化數(shù)據(jù)庫結構:

對于頻繁查詢的字段,盡量使用索引。

合理劃分分片,避免數(shù)據(jù)傾斜。

合理設置集合的副本數(shù)量,保證數(shù)據(jù)的可用性。

擴展硬件資源:

如果數(shù)據(jù)庫的硬件資源限制了查詢性能,可以考慮增加 CPU、內存或磁盤空間等資源。

總結

到此這篇關于MongoDB數(shù)據(jù)庫查看慢查詢級別以及慢查詢日志的文章就介紹到這了,更多相關MongoDB查看慢查詢內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • MongoDB學習筆記之GridFS使用介紹

    MongoDB學習筆記之GridFS使用介紹

    這篇文章主要介紹了MongoDB學習筆記之GridFS使用介紹,本文介紹了GridFS的作用、GridFS的一些使用方法、GridFS實現(xiàn)原理及注意事項等,需要的朋友可以參考下
    2015-07-07
  • 關于對MongoDB索引的一些簡單理解

    關于對MongoDB索引的一些簡單理解

    索引的作用是為了提升查詢效率,如果查詢條件帶有索引,MongoDB 將掃描索引, 通過索引確定要查詢的部分文檔,而非直接對全部文檔進行掃描,下面這篇文章主要給大家介紹了關于對MongoDB索引的一些簡單理解,需要的朋友可以參考下
    2021-09-09
  • MongoDB副本集部署完整教程(最新推薦)

    MongoDB副本集部署完整教程(最新推薦)

    副本集包括一個主節(jié)點和兩個副本節(jié)點,配置副本集成員,包括將仲裁節(jié)點更改為副本節(jié)點,并添加延遲節(jié)點,下面通過本文給大家介紹MongoDB副本集部署完整教程,感興趣的朋友一起看看吧
    2025-03-03
  • MongoDB的安裝方法圖文教程

    MongoDB的安裝方法圖文教程

    MongoDB 是由C++語言編寫的,是一個基于分布式文件存儲的開源數(shù)據(jù)庫系統(tǒng)。本文給大家介紹了mongodb的安裝教程,非常不錯,具有參考借鑒價值,感興趣的朋友一起看看吧
    2016-11-11
  • MongoDB可視化工具mongodb-compass

    MongoDB可視化工具mongodb-compass

    這篇文章介紹了MongoDB的可視化工具mongodb-compass,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-06-06
  • mac下使用brew 安裝mongodb的方法教程

    mac下使用brew 安裝mongodb的方法教程

    mac 系統(tǒng)常用的軟件安裝工具就是 homebrew.那么通過brew怎么安裝mongodb呢?下面小編給大家分享mac下使用brew 安裝mongodb的方法教程,一起看看吧
    2016-10-10
  • 將MongoDB加入到Windows的本地服務項的方法

    將MongoDB加入到Windows的本地服務項的方法

    下面主要針對MongoDB在Windows下加入本地服務項做一些簡單的分享。以方便剛接觸MongoDB并在Windows環(huán)境下進行開發(fā)的同學
    2014-08-08
  • 淺析MongoDB用戶管理

    淺析MongoDB用戶管理

    mongodb在2.4最新版本中對用戶權限管理做了全新的調整,把權限細化了,增強了安全性,越來越像mysql的權限管理了。廢話少說,我們來詳細看下吧
    2014-08-08
  • mongodb官方的golang驅動基礎使用教程分享

    mongodb官方的golang驅動基礎使用教程分享

    這篇文章主要給大家介紹了關于mongodb官方的golang驅動基礎使用的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用mongodb具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-12-12
  • mac下安裝和配置mongodb的步驟詳解

    mac下安裝和配置mongodb的步驟詳解

    大家都知道MongoDB是一個跨平臺的,面向文檔的數(shù)據(jù)庫,提供高性能,高可用性和可擴展性方便。那么下面這篇文章就來給大家介紹了關于在mac系統(tǒng)下安裝和配置mongodb的方法步驟,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-07-07

最新評論

日土县| 泸定县| 本溪| 湘阴县| 特克斯县| 宾阳县| 上饶县| 浠水县| 北碚区| 富平县| 林芝县| 祥云县| 申扎县| 贡觉县| 浦县| 湘潭县| 沾益县| 外汇| 泰宁县| 卓资县| 宜兰县| 大理市| 横峰县| 阜新市| 贺兰县| 岳阳市| 张家港市| 随州市| 荆州市| 恭城| 古交市| 黔西县| 利辛县| 敦煌市| 饶平县| 洪江市| 济阳县| 宣武区| 南召县| 陵水| 建宁县|