中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

黑龍江住房和建設(shè)廳網(wǎng)站寧波seo網(wǎng)絡(luò)推廣推薦

黑龍江住房和建設(shè)廳網(wǎng)站,寧波seo網(wǎng)絡(luò)推廣推薦,定制網(wǎng)站開(kāi)發(fā)平臺(tái),江西萬(wàn)通建設(shè)有限公司網(wǎng)站目錄一、MongoDB啟動(dòng)超慢1、啟動(dòng)日常卡住,根本不用為了截屏而快速操作,MongoDB啟動(dòng)真的超級(jí)慢~~2、啟動(dòng)MongoDB配置服務(wù)器,間歇性失敗。3、查看MongoDB日志,分析“MongoDB啟動(dòng)慢”的原因。4、耗時(shí)“一小時(shí)”,MongoDB啟…

目錄

    • 一、MongoDB啟動(dòng)超慢
      • 1、啟動(dòng)日??ㄗ?#xff0c;根本不用為了截屏而快速操作,MongoDB啟動(dòng)真的超級(jí)慢~~
      • 2、啟動(dòng)MongoDB配置服務(wù)器,間歇性失敗。
      • 3、查看MongoDB日志,分析“MongoDB啟動(dòng)慢”的原因。
      • 4、耗時(shí)“一小時(shí)”,MongoDB啟動(dòng)成功!
    • 二、原因分析
    • 三、監(jiān)控MongoDB內(nèi)存使用情況
    • 四、監(jiān)控MongoDB磁盤(pán)空間
    • 五、MongoDB常用命令
      • 1、MongoDB獲取系統(tǒng)信息
      • 2、MongoDB獲取系統(tǒng)內(nèi)存情況
      • 3、MongoDB獲取連接數(shù)信息
      • 4、MongoDB獲取全局鎖信息
      • 5、MongoDB獲取操作統(tǒng)計(jì)計(jì)數(shù)器
      • 6、MongoDB獲取數(shù)據(jù)庫(kù)狀態(tài)信息
    • 六、MongoDB持久性

大家好,我是哪吒,最近項(xiàng)目在使用MongoDB作為圖片和文檔的存儲(chǔ)數(shù)據(jù)庫(kù),為啥不直接存MySQL里,還要搭個(gè)MongoDB集群,麻不麻煩?

讓我們一起,一探究竟,繼續(xù)學(xué)習(xí)MongoDB數(shù)據(jù)庫(kù)性能監(jiān)控,實(shí)現(xiàn)快速入門(mén),豐富個(gè)人簡(jiǎn)歷,提高面試level,給自己增加一點(diǎn)談資,秒變面試小達(dá)人,BAT不是夢(mèng)。

在這里插入圖片描述

一、MongoDB啟動(dòng)超慢

1、啟動(dòng)日常卡住,根本不用為了截屏而快速操作,MongoDB啟動(dòng)真的超級(jí)慢~~

在這里插入圖片描述
在這里插入圖片描述

2、啟動(dòng)MongoDB配置服務(wù)器,間歇性失敗。

在這里插入圖片描述
在這里插入圖片描述

3、查看MongoDB日志,分析“MongoDB啟動(dòng)慢”的原因。

在這里插入圖片描述

4、耗時(shí)“一小時(shí)”,MongoDB啟動(dòng)成功!

在這里插入圖片描述

二、原因分析

在MongoDB關(guān)閉之前,有較大的索引建立的操作沒(méi)有完成,MongoDB就直接shutdown了,等MongoDB再次啟動(dòng)的時(shí)候,MongoDB默認(rèn)會(huì)將這個(gè)index重建好,重建期間處于startup狀態(tài)。

由于不清楚重建索引需要多久,因此可以通過(guò)重啟mongod時(shí)加上–noIndexBuildRetry參數(shù)來(lái)跳過(guò)索引重建。等啟動(dòng)完成后,再創(chuàng)建這個(gè)索引。

下面從幾方面,監(jiān)控一下MongoDB的性能問(wèn)題。

三、監(jiān)控MongoDB內(nèi)存使用情況

在這里插入圖片描述

  • 常駐內(nèi)存: 是MongoDB在RAM中顯式擁有的內(nèi)存。如果查詢一個(gè)集合數(shù)據(jù),MongoDB會(huì)將其放入常駐內(nèi)存中,MongoDB會(huì)獲得其地址,這個(gè)地址不是RAM中數(shù)據(jù)的真實(shí)地址,而是一個(gè)虛擬地址。MongoDB可以將它傳遞給內(nèi)核,內(nèi)核會(huì)查找出數(shù)據(jù)的真實(shí)位置。如果內(nèi)核需要從內(nèi)存中清理緩存,MongoDB仍然可以通過(guò)該地址對(duì)其進(jìn)行訪問(wèn)。MongoDB會(huì)向內(nèi)核請(qǐng)求內(nèi)存,然后內(nèi)核會(huì)查看數(shù)據(jù)緩存,如果發(fā)現(xiàn)數(shù)據(jù)不存在,就會(huì)產(chǎn)生缺頁(yè)錯(cuò)誤并將數(shù)據(jù)復(fù)制到內(nèi)存中,最后再返給MongoDB。
  • MongoDB的虛擬內(nèi)存: 是操作系統(tǒng)提供的一種抽象,它對(duì)軟件進(jìn)程隱藏了物理存儲(chǔ)的細(xì)節(jié)。每個(gè)進(jìn)程都可以看到一個(gè)連續(xù)的內(nèi)存地址空間。在Ops Manager中,MongoDB的虛擬內(nèi)存是映射內(nèi)存的兩倍。
  • MongoDB的映射內(nèi)存: 包含MongoDB曾經(jīng)訪問(wèn)過(guò)的所有數(shù)據(jù)。

在這里插入圖片描述

四、監(jiān)控MongoDB磁盤(pán)空間

當(dāng)磁盤(pán)空間不足時(shí),可以進(jìn)行如下操作:

  1. 可以添加一個(gè)分片;
  2. 刪除未使用的索引;
  3. 可以執(zhí)行壓縮操作;
  4. 關(guān)閉副本集成員,將其數(shù)據(jù)復(fù)制到更大的磁盤(pán)中掛載;
  5. 用較大驅(qū)動(dòng)器的成員替換副本集中的成員;

五、MongoDB常用命令

1、MongoDB獲取系統(tǒng)信息

db.hostInfo()

在這里插入圖片描述

2、MongoDB獲取系統(tǒng)內(nèi)存情況

db.serverStatus().mem

在這里插入圖片描述

3、MongoDB獲取連接數(shù)信息

db.serverStatus().connections

在這里插入圖片描述

4、MongoDB獲取全局鎖信息

db.serverStatus().globalLock

在這里插入圖片描述

5、MongoDB獲取操作統(tǒng)計(jì)計(jì)數(shù)器

db.serverStatus().opcounters

在這里插入圖片描述

6、MongoDB獲取數(shù)據(jù)庫(kù)狀態(tài)信息

db.stats()

在這里插入圖片描述
以上是MongoDB的重要指標(biāo),通過(guò)這些指標(biāo)我們可以了解到MongoDB的運(yùn)行狀態(tài),評(píng)估數(shù)據(jù)庫(kù)的健康程度,并快速確定實(shí)際項(xiàng)目中遇到的性能瓶頸。

比如項(xiàng)目中遇到的MongoSocketReadTimeoutException:

com.mongodb.MongoSocketReadTimeoutException: Timeout while receiving messageat com.mongodb.connection.InternalStreamConnection.translateReadException(InternalStreamConnection.java:475)at com.mongodb.connection.InternalStreamConnection.receiveMessage(InternalStreamConnection.java:226)at com.mongodb.connection.UsageTrackingInternalConnection.receiveMessage(UsageTrackingInternalConnection.java:105)at com.mongodb.connection.DefaultConnectionPool$PooledConnection.receiveMessage(DefaultConnectionPool.java:438)at com.mongodb.connection.CommandProtocol.execute(CommandProtocol.java:112)at com.mongodb.connection.DefaultServer$DefaultServerProtocolExecutor.execute(DefaultServer.java:168)at com.mongodb.connection.DefaultServerConnection.executeProtocol(DefaultServerConnection.java:289)at com.mongodb.connection.DefaultServerConnection.command(DefaultServerConnection.java:176)at com.mongodb.operation.CommandOperationHelper.executeWrappedCommandProtocol(CommandOperationHelper.java:216)at com.mongodb.operation.CommandOperationHelper.executeWrappedCommandProtocol(CommandOperationHelper.java:207)at com.mongodb.operation.CommandOperationHelper.executeWrappedCommandProtocol(CommandOperationHelper.java:113)at com.mongodb.operation.FindOperation$1.call(FindOperation.java:488)at com.mongodb.operation.FindOperation$1.call(FindOperation.java:1)at com.mongodb.operation.OperationHelper.withConnectionSource(OperationHelper.java:241)at com.mongodb.operation.OperationHelper.withConnection(OperationHelper.java:214)at com.mongodb.operation.FindOperation.execute(FindOperation.java:483)at com.mongodb.operation.FindOperation.execute(FindOperation.java:1)at com.mongodb.Mongo.execute(Mongo.java:818)

在這里插入圖片描述

六、MongoDB持久性

復(fù)制延遲是指從節(jié)點(diǎn)無(wú)法跟上主節(jié)點(diǎn)的速度。

從節(jié)點(diǎn)一個(gè)操作的時(shí)間減去主節(jié)點(diǎn)此操作的時(shí)間,就是復(fù)制延遲。延遲應(yīng)該盡可能的接近0,并且通常是毫秒級(jí)的。

備份操作通常會(huì)將所有數(shù)據(jù)讀入內(nèi)存,因此,備份操作通常應(yīng)該在副本集從節(jié)點(diǎn)而不是主節(jié)點(diǎn)進(jìn)行,如果是單機(jī)MongoDB,則應(yīng)該在空間時(shí)間進(jìn)行備份,比如深夜凌晨。

持久性是數(shù)據(jù)庫(kù)必備的一種特性,想象一下,如果數(shù)據(jù)庫(kù)不具備持久性,如果數(shù)據(jù)庫(kù)重啟,數(shù)據(jù)全部丟失,太可怕了,不敢想。

為了在服務(wù)器發(fā)生故障時(shí)提供持久性,MongoDB使用預(yù)寫(xiě)式日志機(jī)制,英文簡(jiǎn)稱(chēng) WAL。WAL是數(shù)據(jù)庫(kù)系統(tǒng)中一種常見(jiàn)的持久性技術(shù)。在數(shù)據(jù)存入數(shù)據(jù)庫(kù)之前,將這些更改操作寫(xiě)到磁盤(pán)上。

從MongoDB4.0開(kāi)始,執(zhí)行寫(xiě)操作時(shí),MongoDB會(huì)使用與oplog相同的格式創(chuàng)建日志。oplog語(yǔ)句具有冪等性,不管執(zhí)行多少次,結(jié)果都是一樣的。

MongoDB還維護(hù)了日志和數(shù)據(jù)庫(kù)數(shù)據(jù)文件的內(nèi)存視圖。默認(rèn)情況,每50毫秒會(huì)將日志條目刷新到磁盤(pán)上,每60秒會(huì)將數(shù)據(jù)庫(kù)文件刷新到磁盤(pán)上。刷新數(shù)據(jù)的時(shí)間60秒間隔被稱(chēng)為檢查點(diǎn)。日志用于將上一個(gè)檢查點(diǎn)之后的數(shù)據(jù)提供持久性。MongoDB的持久性就是在發(fā)生故障時(shí),重啟之后,將日志中的語(yǔ)句重新執(zhí)行一遍,以保證在關(guān)閉前丟失的數(shù)據(jù)重新刷新到MongoDB中。

MongoDB會(huì)在data目錄下創(chuàng)建一個(gè)journal的子目錄,WiredTiger日志文件的名稱(chēng)為WiredTigerLog.<sequence>。sequence是一個(gè)從0 000 000 001開(kāi)始的數(shù)字。
在這里插入圖片描述
MongoDB會(huì)對(duì)寫(xiě)入的日志進(jìn)行壓縮,日志文件限制的最大大小為100MB。如果大于100MB,MongoDB就會(huì)自動(dòng)創(chuàng)建一個(gè)新的日志文件,由于日志文件只需在上次檢查點(diǎn)之后恢復(fù)數(shù)據(jù),因此在新的檢查點(diǎn)寫(xiě)入完成時(shí),舊的日志文件就會(huì)被刪除。

在這里插入圖片描述
在這里插入圖片描述

Java學(xué)習(xí)路線總結(jié),搬磚工逆襲Java架構(gòu)師

10萬(wàn)字208道Java經(jīng)典面試題總結(jié)(附答案)

Java基礎(chǔ)教程系列

Java基礎(chǔ)教程系列(進(jìn)階篇)

http://www.risenshineclean.com/news/11308.html

相關(guān)文章:

  • 做網(wǎng)站模板的海報(bào)尺寸多少錢(qián)電商seo優(yōu)化是什么意思
  • 做網(wǎng)站必須要電腦嗎app開(kāi)發(fā)工具
  • 公司網(wǎng)站建立教程aso優(yōu)化平臺(tái)有哪些
  • 重慶建站模板源碼推動(dòng)防控措施持續(xù)優(yōu)化
  • 用淘寶評(píng)論做網(wǎng)站個(gè)人博客網(wǎng)頁(yè)制作
  • 北京國(guó)家建設(shè)部網(wǎng)站首頁(yè)上海百度推廣電話
  • 購(gòu)買(mǎi)云服務(wù)器后怎么做網(wǎng)站seo優(yōu)化幾個(gè)關(guān)鍵詞
  • 建設(shè)大型網(wǎng)站世界足球排名前100名
  • wordpress做論壇網(wǎng)站免費(fèi)推廣網(wǎng)站排行榜
  • 靜態(tài)網(wǎng)站可以做哪些內(nèi)容小程序開(kāi)發(fā)框架
  • 免費(fèi)下載ppt模板的網(wǎng)站有哪些站長(zhǎng)工具seo源碼
  • 做交易網(wǎng)站百度seo排名如何提升
  • 溫州網(wǎng)站建設(shè)前十公司大同優(yōu)化推廣
  • 美圖秀秀可以做網(wǎng)站嗎河南省網(wǎng)站
  • 加強(qiáng)網(wǎng)站政務(wù)服務(wù)建設(shè)百度指數(shù)使用方法
  • 印刷網(wǎng)站建設(shè) 優(yōu)幫云品牌運(yùn)營(yíng)
  • 中英切換的網(wǎng)站咋做中國(guó)最大網(wǎng)站排名
  • 做跳轉(zhuǎn)鏈接到自己的網(wǎng)站谷歌瀏覽器官網(wǎng)手機(jī)版
  • 提供網(wǎng)站技術(shù)支持系統(tǒng)優(yōu)化軟件排行榜
  • 做網(wǎng)站公司鄭州鄭州的網(wǎng)站建設(shè)公司排名湖南百度推廣
  • 桂林旅游搜索seo神器
  • 新西蘭網(wǎng)站建設(shè)山東seo多少錢(qián)
  • 幫別人做網(wǎng)站自己為什么會(huì)被抓近10天的時(shí)政新聞
  • 做英文網(wǎng)站用什么字體好響應(yīng)式網(wǎng)站模板的應(yīng)用
  • 手機(jī)做圖片設(shè)計(jì)哪個(gè)軟件好湖南正規(guī)seo優(yōu)化
  • 中山建網(wǎng)站費(fèi)用多少百度推廣關(guān)鍵詞排名規(guī)則
  • 做網(wǎng)站的品牌公司蘭州網(wǎng)絡(luò)推廣
  • 做網(wǎng)站架構(gòu)圖互聯(lián)網(wǎng)推廣渠道有哪些
  • 建網(wǎng)站需要的設(shè)備google官方入口
  • 網(wǎng)站建設(shè)周記廣州軟件系統(tǒng)開(kāi)發(fā)seo推廣