redis版本4.0.12
在服務(wù)器上啟動兩臺redis實例,6379和6380
生成測試數(shù)據(jù)
創(chuàng)建主從復(fù)制,6379為主
使用防火墻模擬主從復(fù)制連接中斷
模擬在復(fù)制中斷過程中,主庫正常接受請求
數(shù)據(jù)量約156K
將主從實例停止并刪除日志和轉(zhuǎn)儲文件之后重復(fù)前面的步驟將環(huán)境恢復(fù)到主從復(fù)制狀態(tài)。
模擬主從復(fù)制中斷
生產(chǎn)更多的數(shù)據(jù)量導(dǎo)入主庫
數(shù)據(jù)量約2M
恢復(fù)中斷
查看恢復(fù)之后主庫與從庫的日志
cat master.out
cat slave.out
從兩次的日志當(dāng)中可以看出來,數(shù)據(jù)量少的時候主從連接恢復(fù)的時候,同步數(shù)據(jù)采用的是部分同步,而數(shù)據(jù)量多的時候采用的是完全同步。這是因為當(dāng)中斷期間主庫接受的數(shù)據(jù)量小于repl-backlog-size的值就會采用部分同步,反之就會使用完全同步。repl-backlog-size的默認(rèn)值為1M。
部分同步是通過向主庫發(fā)送,中斷前最后使用的offset和主實例ID向主庫發(fā)送部分同步請求,主庫首先確認(rèn)ID與自己是否一致,之后判斷offset能否從backlog緩沖區(qū)中獲取。如果可以獲取,從就可以獲得連接斷開期間所有寫命令,完成同步。
完全同步需要創(chuàng)建后臺線程生成轉(zhuǎn)儲文件,這需要額外的內(nèi)存開銷,之后還需將轉(zhuǎn)儲文件傳輸給從庫,而部分同步則不需要,所以部分同步的代價更小應(yīng)當(dāng)更多的使用部分同步,當(dāng)主庫接收數(shù)據(jù)量較大的時候,默認(rèn)的repl-backlog-size值很容易導(dǎo)致使用完全同步。所以需要根據(jù)數(shù)據(jù)量調(diào)整repl-backlog-size的值,計算公式如下:
t * (master_repl_offset2 – master_repl_offset1) / (t2 – t1)
t是主從連接可能斷開的時間,秒為單位,master_repl_offset通過峰值期間Info命令獲取。
更多精彩干貨分享
點擊下方名片關(guān)注
IT那活兒
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/129904.html
摘要:線程有幾種狀態(tài)生命周期是怎樣的線程有五種狀態(tài)創(chuàng)建就緒運行阻塞死亡。當(dāng)線程獲得到等待的資源資源或者引起阻塞的條件得到滿足時調(diào)用或,會從阻塞狀態(tài)進入就緒狀態(tài)。使用,允許最多個線程同時訪問資源。 轉(zhuǎn)載請注明出處: 貼一貼我的后端開發(fā)面試題。 本文是面試回寢室后憑記憶羅列出來的問題,大概90%的問題都在這里面了,有幾個問題的實在是想不起來了= =,有些問題自我感覺回答的不好,所以我是查了資料...
摘要:常規(guī)的知識點整理將持續(xù)更新不僅僅做緩存使用,某種場景下可以當(dāng)做數(shù)據(jù)庫使用,替換,因為是可以持久化的,所以可以直接和進行交互而則不能當(dāng)數(shù)據(jù)庫使用,只能作緩存使用,不能替換。的實際處理速度完全依靠主進程的執(zhí)行效率。 redis 常規(guī)的知識點整理---將持續(xù)更新... 1.redis 不僅僅做緩存使用,某種場景下可以當(dāng)做數(shù)據(jù)庫使用,替換 mysql,因為 Redis 是可以持久化的,所以可以...
摘要:以下為大家整理了阿里巴巴史上最全的面試題,涉及大量面試知識點和相關(guān)試題。的內(nèi)存結(jié)構(gòu),和比例。多線程多線程的幾種實現(xiàn)方式,什么是線程安全。點擊這里有一套答案版的多線程試題。線上系統(tǒng)突然變得異常緩慢,你如何查找問題。 以下為大家整理了阿里巴巴史上最全的 Java 面試題,涉及大量 Java 面試知識點和相關(guān)試題。 JAVA基礎(chǔ) JAVA中的幾種基本數(shù)據(jù)類型是什么,各自占用多少字節(jié)。 S...
摘要:作用默認(rèn),即,適當(dāng)調(diào)整年輕代大小,可以一定層度上較少出現(xiàn)的概率其余性能調(diào)優(yōu)常用參數(shù)設(shè)置指定的初始和最大堆內(nèi)存大小,兩值可以設(shè)置相同,以避免每次垃圾回收完成后重新分配內(nèi)存。 Java性能優(yōu)化之針對分代垃圾回收調(diào)整 [TOC] JVM內(nèi)存的系統(tǒng)級的調(diào)優(yōu)主要的目的是減少Minor GC的頻率和Full GC的次數(shù),過多的Minor GC和Full GC是會占用很多的系統(tǒng)資源,影響系統(tǒng)的吞吐...
閱讀 1353·2023-01-11 13:20
閱讀 1702·2023-01-11 13:20
閱讀 1212·2023-01-11 13:20
閱讀 1904·2023-01-11 13:20
閱讀 4164·2023-01-11 13:20
閱讀 2752·2023-01-11 13:20
閱讀 1397·2023-01-11 13:20
閱讀 3666·2023-01-11 13:20