Redis和Coherence高可用比對測試報告_第1頁
Redis和Coherence高可用比對測試報告_第2頁
Redis和Coherence高可用比對測試報告_第3頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、 Redis和Coherence對比測試方案 Redis和Coherence對比測試報告1 測試目標(biāo)本次統(tǒng)一業(yè)務(wù)受理平臺新框架改造,涉及使用Redis內(nèi)存數(shù)據(jù)庫,異常測試過程中發(fā)現(xiàn)Redis集群存在“主備切換4s秒耗時”和“大于二分之一宕機集群不可用”的兩大問題;本次測試比對Redis(優(yōu)化集群部署以及相關(guān)配置)和Coherence(配合應(yīng)用進行部署),客觀展現(xiàn)兩款軟件在比對測試中優(yōu)缺點。2 集群部署2.1Redis部署Redis的主備原理:以備份應(yīng)用(包括數(shù)據(jù))的形式存在;2.2Coherence部署Coherence的主備原理:備份數(shù)據(jù),無備應(yīng)用的概念,主數(shù)據(jù)丟失,備份數(shù)據(jù)啟用;3 比對基

2、準(zhǔn)Ø 硬件基準(zhǔn)Redis和Coherence基于同一批次機架(64顆CPU、128G內(nèi)存),各部署5臺,各自按照最佳實踐配置。Ø 主備策略Redis和Coherence集群均采用:一主兩備策略。1、Redis集群部署方案:集群部署5主10備模式,采用的主機為10.243.6.25, 10.243.6.26,10.243.6.27, 10.243.6.28, 10.243.6.29主備架構(gòu)為:10.243.6.25:6380-10.243.6.26:6381-10.243.6.27:638210.243.6.26:6380-10.243.6.27:6381-10.243.6.

3、28:638210.243.6.27:6380-10.243.6.28:6381-10.243.6.29:638210.243.6.28:6380-10.243.6.29:6381-10.243.6.25:638210.243.6.29:6380-10.243.6.25:6381-10.243.6.26:6382其中6380為master,6381為slave1,6382為slave2。2、Coherence配置信息如下:主機內(nèi)存CPU代理端口數(shù)據(jù)節(jié)點數(shù)量JVM大小10.243.6.58128G64 Core12001108G10.243.6.59128G64 Core12001108G10.

4、243.6.60128G64 Core12001108G10.243.6.61128G64 Core12001108G10.243.6.62128G64 Core12001108GØ 數(shù)據(jù)基準(zhǔn)數(shù)據(jù)總量:按照思特奇應(yīng)用側(cè)建議,預(yù)計集群數(shù)據(jù)總量為7萬條session(21k)和7萬條工號權(quán)限的基本信息(59k),本次測試會預(yù)先插入14萬條的數(shù)據(jù)。4 測試方案4.1高可用性測試采用宕應(yīng)用和宕主機兩種方法,驗證集群的高可用性。在宕應(yīng)用或宕主機的同時,繼續(xù)get、set操作,確認集群是否仍承載功能,觀察數(shù)據(jù)丟失量。4.1.1 Coherence測試方案Coherence,集群內(nèi)通訊使用萬兆,業(yè)

5、務(wù)單獨走千兆-對應(yīng)coherence三代架構(gòu)緩存規(guī)劃l 宕應(yīng)用Ø 依次宕主應(yīng)用1、 共5臺主機,每臺共有11個節(jié)點,其中10個數(shù)據(jù)節(jié)點, 2、 分別針對50個進程進行依次kill,不分先后Ø 同時宕集群二分之一(以上)主應(yīng)用1、50個數(shù)據(jù)節(jié)點停止其中25個數(shù)據(jù)節(jié)點2、5個代理可以停止其中2-3個代理Ø 同時宕某個主應(yīng)用和其對應(yīng)的全部備應(yīng)用coherence無法測試說明:Coherence同以往傳統(tǒng)架構(gòu)中設(shè)計主備節(jié)點概念不同,采用新型設(shè)計架構(gòu)使用副本的方式備份數(shù)據(jù),無法同傳統(tǒng)架構(gòu)需要主備切換,如在用數(shù)據(jù)丟失會自動啟用副本,而副本同正常數(shù)據(jù)已經(jīng)存放在同一個集群中無需切

6、換。l 宕主機Ø 依次宕主機,每次停1臺;每次停2臺1、針對coherence主機任意1臺或者2臺主機,執(zhí)行reboot重啟主機系統(tǒng)。Ø 同時宕掉三臺主機(二分之一以上機器)1、 coherence 5臺主機,針對其中任意三臺主機執(zhí)行reboot重啟主機系統(tǒng)。4.1.2 Redis測試方案l 宕應(yīng)用Ø 依次宕主應(yīng)用1. 模擬25主機故障宕機操作步驟:a. 查出25主機的redis進程,使用命令ps -ef | grep redisb. 執(zhí)行kill -9 動作,將主機上的6380端口對應(yīng)的節(jié)點進程殺掉預(yù)期結(jié)果:殺掉的節(jié)點發(fā)生主備切換,其他主節(jié)點可以正常提供服務(wù),切

7、換完成后新的主節(jié)點可以正常提供服務(wù)2. 模擬26主機故障宕機操作步驟:a.查出26主機的redis進程,使用命令ps -ef | grep redisb.執(zhí)行kill -9 動作,將主機上的6380端口對應(yīng)的節(jié)點進程殺掉預(yù)期結(jié)果:殺掉的節(jié)點發(fā)生主備切換,其他主節(jié)點可以正常提供服務(wù),切換完成后新的主節(jié)點可以正常提供服務(wù)3. 模擬27主機故障宕機操作步驟:a.查出27主機的redis進程,使用命令ps -ef | grep redisb.執(zhí)行kill -9 動作,將主機上的6380端口對應(yīng)的節(jié)點進程殺掉預(yù)期結(jié)果:殺掉的節(jié)點發(fā)生主備切換,其他主節(jié)點可以正常提供服務(wù),切換完成后新的主節(jié)點可以正常提供服

8、務(wù)4. 模擬28主機故障宕機操作步驟:a.查出28主機的redis進程,使用命令ps -ef | grep redisb.執(zhí)行kill -9 動作,將主機上的6380端口對應(yīng)的節(jié)點進程殺掉預(yù)期結(jié)果:殺掉的節(jié)點發(fā)生主備切換,其他主節(jié)點可以正常提供服務(wù),切換完成后新的主節(jié)點可以正常提供服務(wù)5.模擬29主機故障宕機操作步驟:a.查出29主機的redis進程,使用命令ps -ef | grep redisb.執(zhí)行kill -9 動作,將主機上的6380端口對應(yīng)的節(jié)點進程殺掉預(yù)期結(jié)果:殺掉的節(jié)點發(fā)生主備切換,其他主節(jié)點可以正常提供服務(wù),切換完成后新的主節(jié)點可以正常提供服務(wù)6.重啟kill掉的所有redi

9、s服務(wù)Ø 同時宕集群二分之一(以上)主應(yīng)用1. 使用crt連接好25,26,27三臺主機,并使用命令進入緩存后臺,查看當(dāng)前的主機的主節(jié)點的所在主機以及端口,使用命令查看第三列為master的列,redis-cli -c -p 6380 cluster nodes2. 找出其中任意3臺,在任意一臺主機上執(zhí)行命令redis-cli -h 10.243.6.(25/26/27) -c -p (6380/6381/6382) shutdown為了保證速度,此命令最好寫在腳本中執(zhí)行,例如:redis-cli -h 10.243.6.25 -c -p 6380 shutdownredis-cli

10、 -h 10.243.6.26 -c -p 6380 shutdownredis-cli -h 10.243.6.27 -c -p 6380 shutdown預(yù)期結(jié)果:Redis集群無法正常提供服務(wù)Ø 同時宕某個主應(yīng)用和其對應(yīng)的全部備應(yīng)用1.調(diào)整redis的主備模式為最初的部署架構(gòu)2.在任意一臺主機上執(zhí)行一下命令:redis-cli -h 10.243.6.26 -c -p 6380 shutdownredis-cli -h 10.243.6.27 -c -p 6381 shutdownredis-cli -h 10.243.6.28 -c -p 6382 shutdown來停止26

11、主機的主以及他對應(yīng)的兩個備節(jié)點。預(yù)期結(jié)果:26節(jié)點無法正常提供服務(wù),其他4臺主機節(jié)點依然可以正常提供服務(wù)l 宕主機Ø 依次宕主機,每次停1臺;每次停2臺停一臺主機:模擬25主機故障宕機操作步驟:1.查出25主機的redis進程,使用命令ps -ef | grep redis2.執(zhí)行kill -9 動作,將主機上的6380,6381,6382端口對應(yīng)的節(jié)點進程同時殺掉模擬26主機故障宕機操作步驟:1.查出26主機的redis進程,使用命令ps -ef | grep redis2.執(zhí)行kill -9 動作,將主機上的6380,6381,6382端口對應(yīng)的節(jié)點進程同時殺掉模擬27主機故障宕

12、機操作步驟:1.查出27主機的redis進程,使用命令ps -ef | grep redis2.執(zhí)行kill -9 動作,將主機上的6380,6381,6382端口對應(yīng)的節(jié)點進程同時殺掉模擬28主機故障宕機操作步驟:1.查出28主機的redis進程,使用命令ps -ef | grep redis2.執(zhí)行kill -9 動作,將主機上的6380,6381,6382端口對應(yīng)的節(jié)點進程同時殺掉預(yù)期結(jié)果:緩存服務(wù)器停機1臺,2臺時,3臺時發(fā)生主備切換,緩存可以繼續(xù)提供服務(wù),停機4時緩存無法正常提供服務(wù)。停兩臺主機:1. 在任意兩臺選定好的要停止緩存服務(wù)的主機,使用命令ps -ef | grep red

13、is2. 執(zhí)行kill -9 動作,將兩臺主機上的6380,6381,6382端口對應(yīng)的節(jié)點進程同時殺掉預(yù)期結(jié)果:發(fā)生主備切換,切換后所有節(jié)點可以提供正常服務(wù)。Ø 同時宕掉三臺主機(二分之一以上機器) 停三臺主機:1.在任意三臺選定好的要停止緩存服務(wù)的主機,使用命令ps -ef | grep redis2.執(zhí)行kill -9 動作,將三臺主機上的6380,6381,6382端口對應(yīng)的節(jié)點進程同時殺掉預(yù)期結(jié)果:緩存服務(wù)器無法正常提供服務(wù)。 4.2硬件異常測試使用腳本工具人為消耗主機的硬件資源:Ø 內(nèi)存不足1.使用內(nèi)存占用腳本,使一臺主機的物理內(nèi)存利用率達到100%;2.確認該

14、主機主節(jié)點是否可用,或者發(fā)生主備切換由于coherence使用JVM存放數(shù)據(jù),對于構(gòu)建環(huán)境之前已經(jīng)完成資源初始化,在操作系統(tǒng)正常的情況下coherence可正常工作,此項測試針對Coherence意義不大。Ø CPU使用率100%1.確認redis能夠正常使用;2.使用CPU占用腳本,使一臺主機的CPU利用率達到100%;3.確認主機主節(jié)點是否可用,或者發(fā)生主備切換Ø 網(wǎng)絡(luò)閃斷(與交換機確認下,對端口disable和enable)4.3讀寫能力比對測試Redis和Coherence集群分別提供進行set、get操作的接口方法,測試使用相同并發(fā)場景(讀寫信息均使用21k大小為

15、基準(zhǔn)),比對兩者的TPS和平均響應(yīng)時間等性能指標(biāo),同時監(jiān)控各主機資源消耗情況。5 測試結(jié)果5.1高可用性測試5.1.1宕應(yīng)用場景一、依次宕主節(jié)點軟件類型操作步驟新增數(shù)據(jù)測試場景(壓力背景:tps=430數(shù)據(jù)背景:7萬59k,7萬21k)歷史數(shù)據(jù)丟失情況redis1、kill 25主機主應(yīng)用報錯129筆 TPS基本無變化數(shù)據(jù)總量:140000剩余數(shù)據(jù):140000不丟失2、kill 26主機主應(yīng)用累計報錯237筆 TPS基本無變化不丟失3、kill 26主機主應(yīng)用累計報錯339筆 TPS基本無變化不丟失4、kill 27主機主應(yīng)用累計報錯433筆 TPS基本無變化不丟失5、kill 29主機主應(yīng)

16、用累計報錯511筆 TPS基本無變化不丟失Coherence1、依次kill 第1-35個節(jié)點無報錯 TPS基本無變化數(shù)據(jù)總量:141424剩余數(shù)據(jù):1414242、kill到第36個節(jié)點無報錯 TPS基本無變化剩余數(shù)據(jù):1413723、kill到第39個節(jié)點無報錯 TPS基本無變化剩余數(shù)據(jù):1411004、kill到第43個節(jié)點無報錯 TPS基本無變化剩余數(shù)據(jù):1405155、kill到第44個節(jié)點無報錯 TPS基本無變化剩余數(shù)據(jù):1402406、kill到第45個節(jié)點無報錯 TPS基本無變化剩余數(shù)據(jù):1400017、kill到第46個節(jié)點無報錯 TPS基本無變化剩余數(shù)據(jù):1375068、k

17、ill到第47個節(jié)點無報錯 TPS基本無變化剩余數(shù)據(jù):1293399、kill到第48個節(jié)點無報錯 TPS基本無變化剩余數(shù)據(jù):11085310、kill到第49個節(jié)點無報錯 TPS基本無變化剩余數(shù)據(jù):77866場景二、同時宕集群二分之一(以上)主節(jié)點軟件類型操作步驟新增數(shù)據(jù)測試場景(壓力背景:tps=430數(shù)據(jù)背景:7萬59k,7萬21k)歷史數(shù)據(jù)丟失情況redis同時殺掉25、26、27主機的主節(jié)點集群不可用數(shù)據(jù)總量:140000剩余數(shù)據(jù):56037(存活的主節(jié)點,數(shù)據(jù)仍存在內(nèi)存槽中)Coherence同時殺掉30個主節(jié)點集群正常工作,出現(xiàn)1筆報錯,TPS基本無變化數(shù)據(jù)總量:140209 剩

18、余數(shù)據(jù):110733場景三、同時宕某個主應(yīng)用和其對應(yīng)的全部備應(yīng)用軟件類型操作步驟新增數(shù)據(jù)測試場景(壓力背景:tps=430數(shù)據(jù)背景:7萬59k,7萬21k)歷史數(shù)據(jù)丟失情況redis同時殺掉某主節(jié)點以及對應(yīng)的兩個備節(jié)點集群可以用,但是持續(xù)出現(xiàn)報錯,報錯率為五分之一左右,重啟該主節(jié)點后無報錯;歷史數(shù)據(jù):140000剩余數(shù)據(jù):112015開發(fā)新增守護進程(判斷主備同時被殺的情況,由進程啟動該主節(jié)點)測試過程中出現(xiàn)1301筆報錯說明:Coherence同以往傳統(tǒng)架構(gòu)中設(shè)計主備節(jié)點概念不同,采用新型設(shè)計架構(gòu)使用副本的方式備份數(shù)據(jù),無法同傳統(tǒng)架構(gòu)需要主備切換,如在用數(shù)據(jù)丟失會自動啟用副本,而副本同正常數(shù)

19、據(jù)已經(jīng)存放在同一個集群中無需切換。5.1.2宕主機場景一、依次宕主機軟件類型操作步驟新增數(shù)據(jù)測試場景(壓力背景:tps=430數(shù)據(jù)背景:7萬59k,7萬21k)歷史數(shù)據(jù)丟失情況redis1、殺掉25主機所有節(jié)點報錯62筆 TPS基本無變化不丟失2、殺掉26主機所有節(jié)點累積報錯123筆 TPS基本無變化不丟失3、殺掉27主機所有節(jié)點累積報錯282筆 TPS基本無變化不丟失4、殺掉28主機所有節(jié)點出現(xiàn)大量報錯后,TPS急劇下降至原來的十分之一左右(三個主節(jié)點均在一臺機器上);歷史數(shù)據(jù):140000剩余數(shù)據(jù):56038Coherence1、殺掉58主機所有應(yīng)用(包括代理節(jié)點)無報錯 TPS基本無變化

20、數(shù)據(jù)總量:140186 剩余數(shù)據(jù):1397582、殺掉59主機所有應(yīng)用無報錯 TPS基本無變化剩余數(shù)據(jù):1379483、殺掉60主機所有應(yīng)用出現(xiàn)一筆報錯 TPS基本無變化剩余數(shù)據(jù):1331214、殺掉61主機所有應(yīng)用出現(xiàn)一筆報錯 TPS基本無變化剩余數(shù)據(jù):107637場景二、同時宕兩臺主機軟件類型操作步驟新增數(shù)據(jù)測試場景(壓力背景:tps=430數(shù)據(jù)背景:7萬59k,7萬21k)歷史數(shù)據(jù)丟失情況redis1、同時殺掉25、26主機上所有節(jié)點報錯206筆 TPS基本無變化不丟失2、同時殺掉27、28主機上所有節(jié)點集群不可用數(shù)據(jù)總量:140000剩余數(shù)據(jù):28026Coherence1、同時殺掉5

21、8、59主機所有應(yīng)用出現(xiàn)一筆報錯 TPS基本無變化數(shù)據(jù)總量:140156剩余數(shù)據(jù):1303652、同時殺掉60、61主機所有應(yīng)用出現(xiàn)一筆報錯 TPS基本無變化剩余數(shù)據(jù):79563場景三、同時宕三臺主機軟件類型操作步驟新增數(shù)據(jù)測試場景(壓力背景:tps=430數(shù)據(jù)背景:7萬59k,7萬21k)歷史數(shù)據(jù)丟失情況redis同時殺掉25、26、27主機所有應(yīng)用集群不可用數(shù)據(jù)總量:140000剩余數(shù)據(jù):56037Coherence同時殺掉58、59、60主機所有應(yīng)用出現(xiàn)一筆報錯 TPS基本無變化數(shù)據(jù)總量:140113剩余數(shù)據(jù):105760場景四、同時宕四臺主機軟件類型操作步驟新增數(shù)據(jù)測試場景(壓力背景:tps=430數(shù)據(jù)背景:7萬59k,7萬21k)歷史數(shù)據(jù)丟失情況Coherence同時殺掉58、59、60、61主機

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論