校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > MongoDB中4種日志的詳細(xì)介紹

MongoDB中4種日志的詳細(xì)介紹

熱門標(biāo)簽:呼和浩特外呼系統(tǒng)原理是什么 智能外呼系統(tǒng)官網(wǎng) 河南電話外呼系統(tǒng)招商 內(nèi)蒙古營銷智能外呼系統(tǒng)哪個好 小裙科技電銷機(jī)器人怎樣 外呼線路資源屬于電信業(yè)務(wù)嗎 青白江400企業(yè)電話申請 crm外呼系統(tǒng)聯(lián)系方式 長沙電銷外呼防封卡是什么

前言

任何一種數(shù)據(jù)庫都有各種各樣的日志,MongoDB也不例外。MongoDB中有4種日志,分別是系統(tǒng)日志、Journal日志、oplog主從日志、慢查詢?nèi)罩镜取_@些日志記錄著MongoDB數(shù)據(jù)庫不同方面的蹤跡。下面分別介紹這幾種日志。

系統(tǒng)日志

系統(tǒng)日志在MongoDB數(shù)據(jù)庫中很重要,它記錄著MongoDB啟動和停止的操作,以及服務(wù)器在運(yùn)行過程中發(fā)生的任何異常信息。
配置系統(tǒng)日志的方法比較簡單,在啟動mongod時(shí)指定logpath參數(shù)即可

mongod -logpath=/data/log/mongodb/serverlog.log -logappend

系統(tǒng)日志會向logpath指定的文件持續(xù)追加。

Journal日志

journaling(日記) 日志功能則是 MongoDB 里面非常重要的一個功能 , 它保證了數(shù)據(jù)庫服務(wù)器在意外斷電 、 自然災(zāi)害等情況下數(shù)據(jù)的完整性。它通過預(yù)寫式的redo日志為MongoDB增加了額外的可靠性保障。開啟該功能時(shí),MongoDB會在進(jìn)行寫入時(shí)建立一條Journal日志,其中包含了此次寫入操作具體更改的磁盤地址和字節(jié)。因此一旦服務(wù)器突然停機(jī),可在啟動時(shí)對日記進(jìn)行重放,從而重新執(zhí)行那些停機(jī)前沒能夠刷新到磁盤的寫入操作。

MongoDB配置WiredTiger引擎使用內(nèi)存緩沖區(qū)來保存journal記錄,WiredTiger根據(jù)以下間隔或條件將緩沖的日志記錄同步到磁盤

  1. 從MongoDB 3.2版本開始每隔50ms將緩沖的journal數(shù)據(jù)同步到磁盤
  2. 如果寫入操作設(shè)置了j:true,則WiredTiger強(qiáng)制同步日志文件
  3. 由于MongoDB使用的journal文件大小限制為100MB,因此WiredTiger大約每100MB數(shù)據(jù)創(chuàng)建一個新的日志文件。當(dāng)WiredTiger創(chuàng)建新的journal文件時(shí),WiredTiger會同步以前journal文件

MongoDB達(dá)到上面的提交,便會將更新操作寫入日志。這意味著MongoDB會批量地提交更改,即每次寫入不會立即刷新到磁盤。不過在默認(rèn)設(shè)置下,系統(tǒng)發(fā)生崩潰時(shí),不可能丟失超過50ms的寫入數(shù)據(jù)。

數(shù)據(jù)文件默認(rèn)每60秒刷新到磁盤一次,因此Journal文件只需記錄約60s的寫入數(shù)據(jù)。日志系統(tǒng)為此預(yù)先分配了若干個空文件,這些文件存放在/data/db/journal目錄中,目錄名為_j.0、_j.1等

長時(shí)間運(yùn)行MongoDB后,日志目錄中會出現(xiàn)類似_j.6217、_j.6218的文件,這些是當(dāng)前的日志文件,文件中的數(shù)值會隨著MongoDB運(yùn)行時(shí)間的增長而增大。數(shù)據(jù)庫正常關(guān)閉后,日記文件會被清除(因?yàn)檎jP(guān)閉后就不在需要這些文件了).

向mongodb中寫入數(shù)據(jù)是先寫入內(nèi)存,然后每隔60s在刷盤,同樣寫入journal,也是先寫入對應(yīng)的buffer,然后每隔50ms在刷盤到磁盤的journal文件
使用WiredTiger,即使沒有journal功能,MongoDB也可以從最后一個檢查點(diǎn)(checkpoint,可以想成鏡像)恢復(fù);但是,要恢復(fù)在上一個檢查點(diǎn)之后所做的更改,還是需要使用Journal

如發(fā)生系統(tǒng)崩潰或使用kill -9命令強(qiáng)制終止數(shù)據(jù)庫的運(yùn)行,mongod會在啟動時(shí)重放journal文件,同時(shí)會顯示出大量的校驗(yàn)信息。

上面說的都是針對WiredTiger引擎,對于MMAPv1引擎來說有一點(diǎn)不一樣,首先它是每100ms進(jìn)行刷盤,其次它是通過private view寫入journal文件,通過shared view寫入數(shù)據(jù)文件。這里就不過多講解了,因?yàn)镸ongoDB 4.0已經(jīng)不推薦使用這個存儲引擎了。

從MongoDB 3.2版本開始WiredTiger是MongoDB推薦的默認(rèn)存儲引擎

需要注意的是如果客戶端的寫入速度超過了日記的刷新速度,mongod則會限制寫入操作,直到日記完成磁盤的寫入。這是mongod會限制寫入的唯一情況。

固定集合(Capped Collection)

在講下面兩種日志之前先來認(rèn)識下capped collection。

MongoDB中的普通集合是動態(tài)創(chuàng)建的,而且可以自動增長以容納更多的數(shù)據(jù)。MongoDB中還有另一種不同類型的集合,叫做固定集合。固定集合需要事先創(chuàng)建好,而且它的大小是固定的。固定集合的行為類型與循環(huán)隊(duì)列一樣。如果沒有空間了,最老的文檔會被刪除以釋放空間,新插入的文檔會占據(jù)這塊空間。

創(chuàng)建固定集合:

db.createCollection("collectionName",{"capped":true, "size":100000, "max":100})

創(chuàng)建了一個大小為100000字節(jié)的固定大小集合,文檔數(shù)量為100.不管先到達(dá)哪個限制,之后插入的新文檔就會把最老的文檔擠出集合:固定集合的文檔數(shù)量不能超過文檔數(shù)量限制,也不能超過大小限制。

固定集合創(chuàng)建之后就不能改變,無法將固定集合轉(zhuǎn)換為非固定集合,但是可以將常規(guī)集合轉(zhuǎn)換為固定集合。

db.runCommand({"convertToCapped": "test", "size" : 10000});

固定集合可以進(jìn)行一種特殊的排序,稱為自然排序(natural sort),自然排序返回結(jié)果集中文檔的順序就是文檔在磁盤的順序。自然順序就是文檔的插入順序,因此自然排序得到的文檔是從舊到新排列的。當(dāng)然也可以按照從新到舊:

db.my_capped_collection.find().sort({"$natural": -1});

oplog主從日志

Replica Sets復(fù)制集用于在多臺服務(wù)器之間備份數(shù)據(jù)。MongoDB的復(fù)制功能是使用操作日志oplog實(shí)現(xiàn)的,操作日志包含了主節(jié)點(diǎn)的每一次寫操作。oplog是主節(jié)點(diǎn)的local數(shù)據(jù)庫中的一個固定集合。備份節(jié)點(diǎn)通過查詢這個集合就可以知道需要進(jìn)行復(fù)制的操作。

一個mongod實(shí)例中的所有數(shù)據(jù)庫都使用同一個oplog,也就是所有數(shù)據(jù)庫的操作日志(插入,刪除,修改)都會記錄到oplog中

每個備份節(jié)點(diǎn)都維護(hù)著自己的oplog,記錄著每一次從主節(jié)點(diǎn)復(fù)制數(shù)據(jù)的操作。這樣,每個成員都可以作為同步源給其他成員使用。

如圖所示,備份節(jié)點(diǎn)從當(dāng)前使用的同步源中獲取需要執(zhí)行的操作,然后在自己的數(shù)據(jù)集上執(zhí)行這些操作,最后再將這些操作寫入自己的oplog,如果遇到某個操作失敗的情況(只有當(dāng)同步源的數(shù)據(jù)損壞或者數(shù)據(jù)與主節(jié)點(diǎn)不一致時(shí)才可能發(fā)生),那么備份節(jié)點(diǎn)就會停止從當(dāng)前的同步源復(fù)制數(shù)據(jù)。

oplog中按順序保存著所有執(zhí)行過的寫操作,replica sets中每個成員都維護(hù)者一份自己的oplog,每個成員的oplog都應(yīng)該跟主節(jié)點(diǎn)的oplog完全一致(可能會有一些延遲)

如果某個備份節(jié)點(diǎn)由于某些原因掛了,但它重新啟動后,就會自動從oplog中最后一個操作開始進(jìn)行同步。由于復(fù)制操作的過程是想復(fù)制數(shù)據(jù)在寫入oplog,所以備份節(jié)點(diǎn)可能會在已經(jīng)同步過的數(shù)據(jù)上再次執(zhí)行復(fù)制操作。MongoDB在設(shè)計(jì)之初就考慮到了這種情況:將oplog中的同一個操作執(zhí)行多次,與只執(zhí)行一次的效果是一樣的。

由于oplog大小是固定的,它只能保持特定數(shù)量的操作日志。通常,oplog使用空間的增長速度與系統(tǒng)處理寫請求的速率幾乎相同:如果主節(jié)點(diǎn)上每分鐘處理了1KB的寫入請求,那么oplog很可能也會在一分鐘內(nèi)寫入1KB條操作日志。

但是,有一些例外:如果單次請求能夠影響到多個文檔(比如刪除多個文檔或者多文檔更新),oplog中就會出現(xiàn)多條操作日志。如果單個操作會影響多個文檔,那么每個受影響的文檔都會對應(yīng)oplog的一條日志。因此,如果執(zhí)行db.student.remove()刪除了10w個文檔,那么oplog中也就會有10w條操作日志,每個日志對應(yīng)一個被刪除的文檔。如果執(zhí)行大量的批量操作,oplog很快就會被填滿。

慢查詢?nèi)罩?/strong>

MongoDB中使用系統(tǒng)分析器(system profiler)來查找耗時(shí)過長的操作。系統(tǒng)分析器記錄固定集合system.profile中的操作,并提供大量有關(guān)耗時(shí)過長的操作信息,但相應(yīng)的mongod的整體性能也會有所下降。因此我們一般定期打開分析器來獲取信息。

默認(rèn)情況下,系統(tǒng)分析器處于關(guān)閉狀態(tài),不會進(jìn)行任何記錄。可以在shell中運(yùn)行db.setProfilingLevel()開啟分析器

db.setProfilingLevel(level,slowms>) 0=off 1=slow 2=all

第一個參數(shù)是指定級別,不同的級別代表不同的意義,0表示關(guān)閉,1表示默認(rèn)記錄耗時(shí)大于100毫秒的操作,2表示記錄所有操作。第二個參數(shù)則是自定義“耗時(shí)過長"標(biāo)準(zhǔn),比如記錄所有耗時(shí)操作500ms的操作

db.setProfilingLevel(1,500);

如果開啟了分析器而system.profile集合并不存在,MongoDB會為其建立一個大小為若干MB的固定集合(capped collection)。如希望分析器運(yùn)行更長時(shí)間,可能需要更大的空間記錄更多的操作。此時(shí)可以關(guān)閉分析器,刪除并重新建立一個新的名為system.profile的固定集合,并令其容量符合要求。然后在數(shù)據(jù)庫上重新啟用分析器。

可以通過db.system.profile.stats()查看集合的最大容量.

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對腳本之家的支持。

您可能感興趣的文章:
  • Docker mongoDB 4.2.1 安裝并收集springboot日志的步驟詳解
  • 如何利用MongoDB存儲Docker日志詳解
  • MongoDB數(shù)據(jù)庫的日志文件深入分析
  • SpringBoot中l(wèi)ogback日志保存到mongoDB的方法
  • Linux下定時(shí)切割Mongodb數(shù)據(jù)庫日志并刪除指定天數(shù)前的日志記錄
  • 深入講解MongoDB的慢日志查詢(profile)
  • 使用MongoDB分析Nginx日志的方法詳解
  • MongoDB運(yùn)行日志實(shí)現(xiàn)自動分割的方法實(shí)例
  • Node.js和MongoDB實(shí)現(xiàn)簡單日志分析系統(tǒng)
  • MongoDB日志文件過大的解決方法
  • 詳解MongoDB中的日志模塊

標(biāo)簽:池州 舟山 黃石 安順 楚雄 菏澤 白山 呼倫貝爾

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《MongoDB中4種日志的詳細(xì)介紹》,本文關(guān)鍵詞  MongoDB,中,4種,日志,的,詳細(xì),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《MongoDB中4種日志的詳細(xì)介紹》相關(guān)的同類信息!
  • 本頁收集關(guān)于MongoDB中4種日志的詳細(xì)介紹的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    日韩激情一区二区| 91在线码无精品| 久久成人av少妇免费| 日本美女一区二区三区| 麻豆久久久久久久| 久久精品国产**网站演员| 精品一区二区三区免费| 狠狠网亚洲精品| 国产成人免费视频网站 | 日日摸夜夜添夜夜添国产精品| 伊人开心综合网| 亚洲一区二区中文在线| 亚洲一区影音先锋| 日本成人在线不卡视频| 精品一区二区三区在线观看国产| 国产自产视频一区二区三区 | 精品国产免费视频| 久久久精品免费免费| 精品午夜一区二区三区在线观看| 中文一区在线播放| 久久综合av免费| 欧美夫妻性生活| 久久亚洲私人国产精品va媚药| wwww国产精品欧美| 国产精品理伦片| 亚洲国产日韩a在线播放| 天天免费综合色| 国内精品久久久久影院一蜜桃| 国产成人午夜精品影院观看视频| 一本色道久久综合狠狠躁的推荐 | 欧美日韩不卡一区| 日韩欧美国产精品| 中文字幕一区av| 偷窥国产亚洲免费视频| 国产乱码精品一区二区三| 9久草视频在线视频精品| 欧美日韩一区二区在线观看| 日韩欧美你懂的| 国产精品黄色在线观看| 亚洲成人av资源| 国产老肥熟一区二区三区| 欧美一区二区观看视频| 欧美变态tickling挠脚心| 国内精品伊人久久久久av影院| 日本中文字幕一区二区有限公司| 国产精品主播直播| 欧美在线播放高清精品| 久久网站最新地址| 一区二区日韩av| 国产一区二区三区电影在线观看 | 欧美探花视频资源| 久久这里都是精品| 亚洲综合一区在线| 国产激情偷乱视频一区二区三区 | 国产视频一区在线播放| 依依成人综合视频| 国产大片一区二区| 制服.丝袜.亚洲.中文.综合| 综合在线观看色| 久久国产婷婷国产香蕉| 日本高清不卡在线观看| 久久精品在这里| 日本欧美大码aⅴ在线播放| 99视频在线精品| 婷婷久久综合九色国产成人| 欧美日韩一区二区三区在线看| 韩国欧美一区二区| 欧美午夜电影一区| 中文字幕不卡在线| 毛片不卡一区二区| 在线精品国精品国产尤物884a| 国产亚洲午夜高清国产拍精品| 午夜成人免费电影| 一本久久综合亚洲鲁鲁五月天| 国产欧美日韩久久| 国内精品免费**视频| 欧美一区二区三区四区五区 | 亚洲精选视频免费看| 精久久久久久久久久久| 在线电影一区二区三区| 亚洲一区二区在线免费看| 99re热这里只有精品视频| 国产色爱av资源综合区| 黄色小说综合网站| 日韩欧美在线1卡| 亚洲成人第一页| 欧美网站一区二区| 亚洲午夜精品在线| 欧美中文字幕久久| 洋洋成人永久网站入口| 666欧美在线视频| 91福利视频久久久久| 欧美一区二区三区视频在线| 五月婷婷久久综合| 欧美日韩一二三区| 亚洲777理论| 欧美日韩精品综合在线| 亚洲va欧美va人人爽| 欧美三级电影在线看| 亚洲mv大片欧洲mv大片精品| 欧美在线播放高清精品| 亚洲一区二区视频在线| 欧美日本一区二区| 五月婷婷另类国产| 欧美一级久久久久久久大片| 免费看欧美美女黄的网站| 欧美一区二区三区四区视频| 久久精品久久精品| 久久噜噜亚洲综合| 成人一级视频在线观看| 国产精品国产自产拍高清av| 99re视频精品| 亚洲一区自拍偷拍| 91精品国产福利在线观看| 久久99久久久久久久久久久| 精品日韩一区二区三区免费视频| 黄网站免费久久| 国产精品区一区二区三区| 99麻豆久久久国产精品免费 | 亚洲国产婷婷综合在线精品| 欧美亚洲综合另类| 免费精品99久久国产综合精品| 精品日本一线二线三线不卡| 国产精品一区在线观看你懂的| 中文字幕精品一区二区精品绿巨人| 97精品久久久久中文字幕| 亚洲一区二区三区在线看| 日韩欧美激情四射| 国产·精品毛片| 亚洲中国最大av网站| 亚洲高清免费视频| 精品国产凹凸成av人导航| 亚洲综合成人网| 91精品国产高清一区二区三区| 国产乱色国产精品免费视频| 亚洲女性喷水在线观看一区| 欧美高清视频在线高清观看mv色露露十八 | 欧美日韩国产综合草草| 麻豆精品在线视频| 综合久久久久综合| 欧美电影一区二区三区| 丁香六月久久综合狠狠色| 亚洲国产一区二区在线播放| 亚洲精品一区二区三区蜜桃下载| 91在线观看污| 美女精品一区二区| 亚洲男人的天堂在线aⅴ视频| 欧美一区二区不卡视频| aaa亚洲精品| 日本欧美一区二区在线观看| 国产精品欧美综合在线| 欧美日韩高清一区二区三区| 国产精品99久久久久久似苏梦涵| 一区二区三区国产| 久久久久久久久久久久久久久99 | 久久久精品一品道一区| 欧美特级限制片免费在线观看| 国产一区在线看| 亚洲一区二区中文在线| 久久精品综合网| 久久亚洲影视婷婷| 精品视频全国免费看| 国产99精品视频| 蜜桃久久av一区| 亚洲一区免费视频| 亚洲欧洲精品天堂一级| 欧美不卡在线视频| 欧美日韩一区三区| 不卡av在线免费观看| 免费观看91视频大全| 亚洲精品国产高清久久伦理二区| 欧美xxxxxxxxx| 欧美日韩免费在线视频| 91亚洲国产成人精品一区二区三| 蜜桃91丨九色丨蝌蚪91桃色| 一区2区3区在线看| 国产精品乱码久久久久久| 欧美tk丨vk视频| 欧美日韩国产免费一区二区| 97久久久精品综合88久久| 国产成人自拍高清视频在线免费播放| 午夜久久久影院| 亚洲欧美二区三区| 国产精品久久久久桃色tv| 久久品道一品道久久精品| 日韩欧美亚洲另类制服综合在线| 日本二三区不卡| 97久久精品人人做人人爽50路| 成人免费观看男女羞羞视频| 国内精品久久久久影院色| 免费观看30秒视频久久| 日韩国产高清在线| 偷窥少妇高潮呻吟av久久免费| 一区二区成人在线| 亚洲精品国产成人久久av盗摄| 亚洲日本在线天堂| 亚洲欧洲日韩av| 亚洲欧美电影院| 亚洲一区精品在线| 亚洲一区二区三区激情|