簡體   English   中英

MongoDB副本集OpLog Gb /小時迅速增加,試圖找出原因

[英]MongoDB replica set OpLog Gb/Hour increasing rapidly, trying to isolate why

問題

MongoDB(v 2.6.6)的三節點副本集OpLog Gb /小時在幾天的時間內一直以每小時20mb的速度連續數月增長。 我試圖找出原因。 在理解上,Oplog.rs是一個上限集合,這與增加交易量有關,但是我發現很難找出增加交易量的原因。

OPLOG Gb /小時

4月2日-11日=每小時20mb。

4月12日-13日=每小時40mb。

4月14日-18日=每小時50mb。

4月19日=每小時70mb。

4月20日=每小時120mb。

4月21日=每小時180mb。

4月22日=每小時230mb。

4月23日=每小時310mb。

4月24日=每小時650mb。

調試日期

  • 在所有數據庫上執行db.getProfilingStatus()。 返回的所有數據庫:

     { "was" : 0, "slowms" : 100 } 

    “ 0”已禁用分析器。

  • 確認增長不是客戶數量的等價增長。

  • 到目前為止,查詢集合oplog.rs並沒有顯示任何明顯的模式。 開發團隊確認,在16日進行更新后,預計數據的持久性不會增加。 我沒有排除錯誤,但是目前沒有明顯的異常可見。

  • DB.local(包含oplog.rs集合)中的平均對象大小顯示了與Oplog GB /小時相似的增長模式。 很久以前是7.45Kb。 現在是50KB。 不知道這是原因還是結果。

如果可能的話,請尋找可能有助於此隔離過程的其他提示/技巧。

復制OpLog窗口從2月22日的5300hrs下降到今天的73hrs。

感謝您的任何幫助。

您可以查詢local.oplog.rs,以查看oplog中的內容。

我會在oplog中檢查文檔是否超過平均對象大小,以了解其用法。

就像是:

db['oplog.rs'].find()
    .limit(50)
    .forEach(
        function (x) { 
            if(Object.bsonsize(x) > 70000) 
                print(x);
        }
    );

最好從較小的限制開始,這樣您就不會在第一次查詢時獲得幾兆字節的內存。

我的盲目猜測是您有一些不斷增長的文檔,這些文檔會被整體查詢和更新。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM