欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

關(guān)于mongodb的journal日志工作方式分析

1、journal目錄結(jié)構(gòu)
  1. [root@gog /backup/mongo/data/journal]#ll 
  2. total 3148816 
  3. -rw------- 1 root root 1073741824 May 23 19:54 j._2 
  4. -rw------- 1 root root         88 May 23 19:54 lsn 
  5. -rw------- 1 root root 1073741824 Mar 18 01:22 prealloc.1 
  6. -rw------- 1 root root 1073741824 Mar 18 01:22 prealloc.2 
 
j._2表示正在使用中的journal文件,當(dāng)單個(gè)文件達(dá)到1GB的時(shí)候,就會(huì)創(chuàng)建一個(gè)新的文件,舊文件不會(huì)循環(huán)使用,自動(dòng)刪除。lsn保存最后使用的journal序列號(hào),是個(gè)2進(jìn)制文件,它實(shí)際保存的是系統(tǒng)啟動(dòng)到現(xiàn)在的一個(gè)時(shí)間戳。prealloc.2是還未使用的初始化的journal文件。使用db.shutdownServer()和kill -2關(guān)閉的系統(tǒng),也就是clean shutdown,journal文件夾下除prealloc.*文件 都會(huì)被刪除。 如果系統(tǒng)掉電或者運(yùn)行時(shí)死機(jī),再啟動(dòng)時(shí),mongo就會(huì)使用journal進(jìn)行恢復(fù),不用運(yùn)行repair。 
 
2、journal刷新頻率
journal除了故障恢復(fù)的作用之外,還可以提高寫入的性能,批量提交(batch-commit),journal一般默認(rèn)100ms刷新一次,在這個(gè)過程中,所有的寫入都可以一次提交,是單事務(wù)的,全部成功或者全部失敗。
關(guān)于刷新時(shí)間,它是可以更改,范圍是2-300ms,但是這并不是絕對(duì)的。MongoDB提供了journal延遲測(cè)試的函數(shù),
 
  1. > db.runCommand("journalLatencyTest") 
  2.     "timeMillis" : { 
  3.         "8KB" : 19.74, 
  4.         "8KBWithPauses" : 20.31402, 
  5.         "1MB" : 25.2 
  6.     }, 
  7.     "timeMillisWithPrealloc" : { 
  8.         "8KB" : 4.13, 
  9.         "8KBWithPauses" : 4.51596, 
  10.         "1MB" : 11.4 
  11.     }, 
  12.     "onSamePartition" : true, 
  13.     "ok" : 1 
在實(shí)際運(yùn)行中,刷新時(shí)間是--journalCommitInterval設(shè)置和延遲測(cè)試中較大的一個(gè)。
三、總結(jié):
mongodb在啟動(dòng)時(shí),專門初始化一個(gè)線程不斷循環(huán)(除非應(yīng)用crash掉),用于在一定時(shí)間周期內(nèi)來從defer隊(duì)列中獲取要持久化的數(shù)據(jù)并寫入到磁盤的journal(日志)和mongofile(數(shù)據(jù))處,當(dāng)然因?yàn)樗皇窃谟脩籼砑佑涗洉r(shí)就寫到磁盤上,所以它不會(huì)造成性能上的損耗,當(dāng)進(jìn)行數(shù)據(jù)插入操作時(shí),記錄(Record類型)都被放入到defer隊(duì)列中以供延時(shí)批量(groupcommit)提交寫入,但相信其中時(shí)間周期參數(shù)是個(gè)要認(rèn)真考量的參數(shù),系統(tǒng)為100毫秒,如果該值更低的話,可能會(huì)造成頻繁磁盤操作,過高又會(huì)造成系統(tǒng)宕機(jī)時(shí)數(shù)據(jù)丟失過多。
journal的刷新時(shí)間是可以改變的,2-300ms的范圍,使用 --journalCommitInterval 命令
 
查看journal運(yùn)行情況:
  1. "dur" : { 
  2.         "commits" : 25, 
  3.         "journaledMB" : 3.899392, 
  4.         "writeToDataFilesMB" : 38.269053, 
  5.         "compression" : 0.09879529488786379, 
  6.         "commitsInWriteLock" : 0, 
  7.         "earlyCommits" : 0, 
  8.         "timeMs" : { 
  9.             "dt" : 3131, 
  10.             "prepLogBuffer" : 47, 
  11.             "writeToJournal" : 349, 
  12.             "writeToDataFiles" : 43, 
  13.             "remapPrivateView" : 3 
  14.         } 
  15.     } 
commits:在journalCommitInterval時(shí)間內(nèi)提交的操作數(shù)。 
journaledMB:在journalCommitInterval時(shí)間內(nèi)寫到j(luò)ournal文件中的數(shù)據(jù)量 。 
writeToDataFilesMB:在journalCommitInterval時(shí)間內(nèi)從journal刷新到磁盤的數(shù)據(jù)量 。 
compression:v>2.0,表示客戶端提交寫入到j(luò)ournal的數(shù)據(jù)的壓縮比率,注意,寫入到j(luò)ournal的數(shù)據(jù)并不是全部的數(shù)據(jù)。( journaled_size_of_data / uncompressed_size_of_data ) 。 
commitsInWriteLock:在有寫鎖的情況下提交的數(shù)量,這表示寫的壓力很大。 
earlyCommits:表示在journalCommitInterval之前的時(shí)間,mongod請(qǐng)求提交的次數(shù)。用這個(gè)參數(shù)確定journalCommitInterval是不是設(shè)置的過長(zhǎng)。 
dur.timeMS.prepLogBuffer:從privateView映射到Logbuffer的時(shí)間。
dur.timeMS.writeToJournal:從logbuffer刷新到j(luò)ournalfile 的時(shí)間。
dur.timeMS.writeToDataFiles:從journalbuffer映射到MMF,然后從MMF刷新到磁盤的時(shí)間,文件系統(tǒng)和磁盤會(huì)影響寫入性能。 
dur.timeMS.remapPrivateView:重新映射數(shù)據(jù)到PrivateView的時(shí)間,越小性能越好
 
借鑒了http://www.cnblogs.com/daizhj/archive/2011/03/21/1990344.html這篇文章中對(duì)mongodb源碼的分析部分
官方文檔 http://docs.mongodb.org/manual/core/journaling/#journaling-internals

網(wǎng)頁標(biāo)題:關(guān)于mongodb的journal日志工作方式分析
新聞來源:http://aaarwkj.com/article42/ispsec.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)電子商務(wù)、企業(yè)網(wǎng)站制作、軟件開發(fā)、網(wǎng)站營(yíng)銷、虛擬主機(jī)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)
星空无限传媒国产最新| 91久久精品国产一区蜜臀| 一二三四在线观看日本资讯| 中文字幕人妻久久一区| 91在线免费观看国产精品| 中文字幕av久久激情| 精品av一区二区在线| 欧美日韩电影一区二区三区在线观看| 国产看片色网站亚洲av| 午夜福利影片免费观看| 日本一二三四卡久久精品| 18岁以下禁止观看的视频| 一区二区三区四区自拍偷拍视频 | 日韩有码高清av在线| 99久久久国产精品蜜臀| 国产日韩欧美另类专区| 亚洲一级特黄大片在线观看| 高清av网站大全网站| 91九色在线免费观看| 91桃色网站在线免费观看| 亚洲av日韩精品久久久| 不卡免费av在线高清| 国产区青青操自拍视频| 日本av东京热在线播放| 日韩欧美精品另类在线| 久久亚洲精品中文字幕| 国产精品黄色片在线观看| 不卡的国产在线视频| 熟妇高潮一区二区在线观看| 一二三四在线观看日本资讯| 国产剧情av色诱女教师| 亚洲精品aa片在线观看国产| 国内精品亚洲成av人片麻豆| 亚洲一区二区在线视频在线观看| 精品亚洲国产一区二区三区| 少妇视频资源一区二区三区 | 熟女一区二区中文字幕| 日韩一级不卡高清视频| 国产农村妇女一区二区三区| 手机在线观看av网站| 国产熟女肥臀精品国产馆乱|