国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Mongodb新舊版本索引創建鎖分析

IT那活兒 / 2202人閱讀
Mongodb新舊版本索引創建鎖分析

點擊上方“IT那活兒”公眾號,關注后了解更多內容,不管IT什么活兒,干就完了!??!


  

客戶生產環境中當前使用的Mongodb數據庫大多數都是3.6或者更低的版本,在3.X版本中創建索引,分為前臺和后臺創建,前臺創建索引會加庫級鎖,導致該庫上的其他所有讀寫操作都會被阻塞,后臺創建則不會阻塞增刪改查操作,但是建索引的效率會變慢。

本文將對3.6和4.2以上版本建索引的區別進行對比。


官方文檔相關的說明

從 MongoDB 4.2 開始,創建索引僅在構建過程的開始和結束期間對被索引的集合獲取排他鎖,以保護元數據更改。構建過程的其余部分使用后臺索引構建的行為來最大化構建期間對集合的讀寫訪問。
4.2版本以后的優化后的索引創建過程的性能至少與舊版本的background創建方式相同。如果說創建索引的集合的增刪改操作較少,則性能跟前臺創建索引一樣。
索引的創建過程及加鎖情況如下表:


不同版本數據庫建索引測試對比

本次采用3.6和4.2兩個版本在相同的集合上創建索引進行對比。
測試用的集合包含1000W個文檔,大小近400MB。
3.6版本前臺創建索引,可看到從建索引開始一直持有庫級排他鎖,如下圖:
當在后臺創建索引時,全局、庫級、集合級都是IX鎖,不會對其他讀寫操作進行阻塞,見下圖:
在4.2版本中創建索引時,由于兩個持有排他鎖的階段時間都很短,我們沒法捕獲到,下面兩個截圖,分別是集合掃描和臨時表(side write table)數據處理階段,均持有的是意向共享鎖和意向排他鎖,不會對其他會話讀寫進行阻塞。

總結:在目前的mongodb運維中,曾出現多次由于開發人員對mongodb索引特性不熟悉,未使用background:true創建索引而導致數據庫阻塞的故障。

經驗證測試,4.2以后的版本創建索引不會產生長時間的阻塞,且索引創建效率比后臺創建索引要略快。所以可以結合其他實際情況推動數據庫升級到4.4版。


本文作者:劉運彬(上海新炬王翦團隊)

本文來源:“IT那活兒”公眾號

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/129317.html

相關文章

  • UCloud MongoDB 如何應對高考填志愿的上億流量高峰

    摘要:優志愿張海鵬宋體背景宋體每年月下旬到月下旬期間是高考填志愿的高峰期,也是優志愿后端面臨大流量高并發請求的業務高峰期。對于優志愿讀多寫少的場景及其業務高峰期,用戶可以按需增刪節點,更好地實現讀取性能的擴展。 隨著用戶規模的增長,數據庫的壓力也在成倍增加。面對大流量、高并發,UCloud MongoDB 做到了高效,并展現出了更好的性能體驗。 —— 優志愿 CTO 張海鵬 背景...

    cppprimer 評論0 收藏0
  • 記一次MongoDB高負載的性能優化

    摘要:年月日本文是關于記錄某次游戲服務端的性能優化此處涉及的技術包括引擎隨著游戲導入人數逐漸增加單個集合的文檔數已經超過經常有玩家反饋說卡特別是在服務器遷移后從核降到核卡頓更嚴重了遂開始排查問題確認服務器壓力首先使用命令查看總體情況此時占用不高 Last-Modified: 2019年6月13日11:08:19 本文是關于記錄某次游戲服務端的性能優化, 此處涉及的技術包括: MongoDB...

    huhud 評論0 收藏0
  • 記一次MongoDB高負載的性能優化

    摘要:年月日本文是關于記錄某次游戲服務端的性能優化此處涉及的技術包括引擎隨著游戲導入人數逐漸增加單個集合的文檔數已經超過經常有玩家反饋說卡特別是在服務器遷移后從核降到核卡頓更嚴重了遂開始排查問題確認服務器壓力首先使用命令查看總體情況此時占用不高 Last-Modified: 2019年6月13日11:08:19 本文是關于記錄某次游戲服務端的性能優化, 此處涉及的技術包括: MongoDB...

    vibiu 評論0 收藏0
  • mysql - 收藏集 - 掘金

    摘要:步優化以及其它數據庫后端掘金原文鏈接在發表了一篇簡潔有效有趣和令人信服的分鐘教程描述了如何進行優化。關于的七種后端掘金對于的,在學習起來可能是比較亂的。 5 步優化 MongoDB 以及其它數據庫 - 后端 - 掘金原文鏈接 Jared Rosoff 在 Scale Out Camp 發表了一篇簡潔、有效、有趣和令人信服的《8 分鐘 MongoDB 教程》描述了如何進行 MongoDB...

    Donald 評論0 收藏0

發表評論

0條評論

IT那活兒

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<