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

MongoDB 內(nèi)存管理相關(guān)總結(jié)

 更新時(shí)間:2021年03月24日 11:51:52   作者:AsiaYe  
這篇文章主要介紹了MongoDB 內(nèi)存管理的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用MongoDB數(shù)據(jù)庫,感興趣的朋友可以了解下

MongoDB的內(nèi)存用在哪兒?

   在MongoDB中,加載各種依賴的lib到內(nèi)存、管理客戶端請求、元數(shù)據(jù)管理存儲等工作都需要占用內(nèi)存,但其實(shí)內(nèi)存使用的大部分還是在存儲引擎和客戶端連接請求處理方面。

   一方面是存儲引擎的cache,通常情況下,我們可以使用參數(shù)cacheSizeGB參數(shù)(下面會講到)來控制內(nèi)存使用率,一旦超過這個(gè)內(nèi)存使用率,則MongoDB的存儲引擎會淘汰掉部分內(nèi)存中的數(shù)據(jù)頁。

   正常運(yùn)行的MongoDB實(shí)例,內(nèi)存使用率大約為80%的cacheSizeGB參數(shù)值,因?yàn)槌^80%之后,內(nèi)存淘汰策略就開始淘汰過期的數(shù)據(jù)頁了,如果出現(xiàn)使用率過大,則多半表示當(dāng)前實(shí)例內(nèi)存淘汰的壓力比較大。請求就有延時(shí)的可能。

   另一方面,如果客戶端的連接數(shù)過多,建立過多的tcp鏈接,這些連接的維護(hù),需要有read buffer和write buffer以用來收發(fā)網(wǎng)絡(luò)包,所以也會產(chǎn)生開銷。每個(gè)連接占用的內(nèi)存大小約為2MB左右。

如何限制MongoDB對內(nèi)存的使用?

   最近在線上發(fā)現(xiàn)了一些有意思的現(xiàn)象,比如某一臺服務(wù)器上部署了MySQL和MongoDB的服務(wù),然后內(nèi)存報(bào)警,說是內(nèi)存已經(jīng)使用了超過85%了,這個(gè)時(shí)候,通常我們會想到遷移服務(wù)。將MySQL或者M(jìn)ongoDB的服務(wù)切換到其他的機(jī)器上,這樣,服務(wù)器的內(nèi)存就可以節(jié)省下來。

    但是實(shí)際的現(xiàn)象就是,如果我們遷移了MySQL的服務(wù)之后,服務(wù)器的內(nèi)存臨時(shí)會降下來,但是一段時(shí)間過后,又會報(bào)警,因?yàn)镸ongoDB已經(jīng)將MySQL騰出來的內(nèi)存空間也占用完了。

    我們知道,在MySQL中,占用內(nèi)存比較多的就是innodb_buffer_pool,還有一堆其他的buffer,除此之外,連接數(shù)也是一個(gè)需要考慮的因素。

     在MongoDB中,如果我們不限制MongoDB的內(nèi)存使用,那么MongoDB就會盡可能的占用更多的內(nèi)存來提高讀寫性能。具體的策略如下:

    從MongoDB3.4開始, WiredTiger存儲引擎默認(rèn)的cache size是下面2個(gè)值中較大的一個(gè)。

公式一:0.5*(物理內(nèi)存-1GB)

公式二:256MB

     例如,物理內(nèi)存4G,則cache size=1.5GB,如果物理內(nèi)存1.5G,則cache size=0.5*(1.5-1)=250MB < 256MB ,所以取值為256MB

     MongoDB中可以通過配置文件的內(nèi)容限定MongoDB所使用的內(nèi)存,關(guān)鍵參數(shù)如下:

storage:
 wiredTiger:
  engineConfig:
   cacheSizeGB: <number> # 單位是GB,浮點(diǎn)型
   journalCompressor: <string>
   directoryForIndexes: <boolean>
   maxCacheOverflowFileSizeGB: <number>
  collectionConfig:
   blockCompressor: <string>
  indexConfig:
   prefixCompression: <boolean>

    上面的參數(shù),一般情況下,單機(jī)單實(shí)例,建議配置在內(nèi)存的60%左右。

cacheSizeGB參數(shù)配置的注意事項(xiàng)

幾點(diǎn)建議:

1、不要增加WiredTiger的內(nèi)部cache size超過默認(rèn)值

2、WiredTiger存儲引擎使用WiredTiger內(nèi)部緩存和文件系統(tǒng)緩存

3、WiredTiger會自動使用所有剩余的文件系統(tǒng)緩存

4、單機(jī)多實(shí)例請務(wù)必減少mongod的內(nèi)存分配值

如何查看內(nèi)存使用情況?

db.hostInfo()

這個(gè)命令可以查看MongoDB的內(nèi)存限制情況,查看結(jié)果如下:

SECONDARY> db.hostInfo()
{
  "system" : {
    "currentTime" : ISODate("2020-12-31T03:51:28.278Z"),
    "hostname" : "localhost.localdomain:24204",
    "cpuAddrSize" : 64,
    "memSizeMB" : 64393,
    "numCores" : 8,
    "cpuArch" : "x86_64",
    "numaEnabled" : false
  },

以上就是MongoDB 內(nèi)存管理相關(guān)總結(jié)的詳細(xì)內(nèi)容,更多關(guān)于MongoDB 內(nèi)存管理的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Mongodb數(shù)據(jù)庫兩種啟動方法小結(jié)

    Mongodb數(shù)據(jù)庫兩種啟動方法小結(jié)

    MongoDB是一種開源的服務(wù)器端NoSQL數(shù)據(jù)庫管理系統(tǒng),它提供了一種靈活的框架,可以快速地存儲、處理和管理大量的數(shù)據(jù),這篇文章主要給大家介紹了關(guān)于Mongodb數(shù)據(jù)庫兩種啟動方法的相關(guān)資料,需要的朋友可以參考下
    2023-12-12
  • 在Mac OS上安裝使用MongoDB的教程

    在Mac OS上安裝使用MongoDB的教程

    這篇文章主要介紹了在Mac OS上安裝使用MongoDB的教程,包括MongoDB基本的命令與數(shù)據(jù)類型的講解,如果在開發(fā)環(huán)境中調(diào)試的話相當(dāng)推薦閱讀本文,需要的朋友可以參考下
    2016-02-02
  • mongo中模糊查詢的綜合應(yīng)用

    mongo中模糊查詢的綜合應(yīng)用

    這篇文章主要給大家介紹了關(guān)于mongo中模糊查詢的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用mongodb具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • MongoDB中查詢(find操作符)詳細(xì)指南

    MongoDB中查詢(find操作符)詳細(xì)指南

    MongoDB是領(lǐng)先的NoSQL數(shù)據(jù)庫之一,以其快速的性能,靈活的模式,可伸縮性和強(qiáng)大的索引功能而聞名,下面這篇文章主要給大家介紹了關(guān)于MongoDB中查詢(find操作符)的相關(guān)資料,需要的朋友可以參考下
    2023-04-04
  • MongoDB分頁查詢緩慢怎么辦

    MongoDB分頁查詢緩慢怎么辦

    在大數(shù)據(jù)應(yīng)用中,MongoDB的分頁查詢存在性能問題,特別是數(shù)據(jù)量大時(shí),本文探討了性能下降的原因,并提出了多種優(yōu)化策略,如有效使用索引、基于索引的游標(biāo)分頁、使用聚合框架、減少返回?cái)?shù)據(jù)量、使用緩存機(jī)制等,旨在改善大規(guī)模數(shù)據(jù)場景下的查詢效率
    2024-09-09
  • MongoDB快速入門及其SpringBoot實(shí)戰(zhàn)教程

    MongoDB快速入門及其SpringBoot實(shí)戰(zhàn)教程

    MongoDB是一個(gè)開源、高性能、無模式的文檔型數(shù)據(jù)庫,當(dāng)初的設(shè)計(jì)就是用于簡化開發(fā)和方便擴(kuò)展,是NoSQL數(shù)據(jù)庫產(chǎn)品中的一種,它支持的數(shù)據(jù)結(jié)構(gòu)非常松散,是一種類似于JSON的格式叫BSON,本文介紹MongoDB快速入門及其SpringBoot實(shí)戰(zhàn),感興趣的朋友一起看看吧
    2023-12-12
  • MongoDB超大塊數(shù)據(jù)問題解決

    MongoDB超大塊數(shù)據(jù)問題解決

    這篇文章主要為大家介紹了MongoDB超大塊數(shù)據(jù)問題的技術(shù)瓶頸解決方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • MongoDB利用oplog恢復(fù)數(shù)據(jù)的方法

    MongoDB利用oplog恢復(fù)數(shù)據(jù)的方法

    這篇文章主要介紹了MongoDB利用oplog恢復(fù)數(shù)據(jù)的方法,當(dāng)我們對數(shù)據(jù)出現(xiàn)誤操作的時(shí)候,可以利用oplog恢復(fù)數(shù)據(jù),下文操作過程需要的小伙伴可以參考一下
    2022-04-04
  • 解決net start MongoDB 報(bào)錯(cuò)之服務(wù)名無效的問題

    解決net start MongoDB 報(bào)錯(cuò)之服務(wù)名無效的問題

    這篇文章主要介紹了解決net start MongoDB 報(bào)錯(cuò)之服務(wù)名無效的問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • SqlServer與MongoDB結(jié)合使用NHibernate

    SqlServer與MongoDB結(jié)合使用NHibernate

    這篇文章主要為大家詳細(xì)介紹了SqlServer與MongoDB結(jié)合使用NHibernate的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-11-11

最新評論

凭祥市| 临泽县| 江孜县| 宜丰县| 西和县| 博客| 宝丰县| 饶平县| 宝山区| 金沙县| 泾阳县| 屯留县| 鄂伦春自治旗| 渭源县| 江北区| 西和县| 河北省| 徐州市| 安化县| 景洪市| 碌曲县| 金秀| 成安县| 资中县| 巴彦淖尔市| 永兴县| 哈尔滨市| 桓台县| 伊金霍洛旗| 邢台县| 北碚区| 香河县| 焦作市| 香格里拉县| 南漳县| 类乌齐县| 江门市| 体育| 高邮市| 旺苍县| 保山市|