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

下載本文檔

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

文檔簡介

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

2、準(zhǔn)Ø 硬件基準(zhǔn)Redis和Coherence基于同一批次機(jī)架(64顆CPU、128G內(nèi)存),各部署5臺(tái),各自按照最佳實(shí)踐配置。Ø 主備策略Redis和Coherence集群均采用:一主兩備策略。1、Redis集群部署方案:集群部署5主10備模式,采用的主機(jī)為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配置信息如下:主機(jī)內(nèi)存CPU代理端口數(shù)據(jù)節(jié)點(diǎn)數(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ù)計(jì)集群數(shù)據(jù)總量為7萬條session(21k)和7萬條工號(hào)權(quán)限的基本信息(59k),本次測試會(huì)預(yù)先插入14萬條的數(shù)據(jù)。4 測試方案4.1高可用性測試采用宕應(yīng)用和宕主機(jī)兩種方法,驗(yàn)證集群的高可用性。在宕應(yīng)用或宕主機(jī)的同時(shí),繼續(xù)get、set操作,確認(rèn)集群是否仍承載功能,觀察數(shù)據(jù)丟失量。4.1.1 Coherence測試方案Coherence,集群內(nèi)通訊使用萬兆,業(yè)

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

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

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

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

9、s服務(wù)Ø 同時(shí)宕集群二分之一(以上)主應(yīng)用1. 使用crt連接好25,26,27三臺(tái)主機(jī),并使用命令進(jìn)入緩存后臺(tái),查看當(dāng)前的主機(jī)的主節(jié)點(diǎn)的所在主機(jī)以及端口,使用命令查看第三列為master的列,redis-cli -c -p 6380 cluster nodes2. 找出其中任意3臺(tái),在任意一臺(tái)主機(jī)上執(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ù)Ø 同時(shí)宕某個(gè)主應(yīng)用和其對(duì)應(yīng)的全部備應(yīng)用1.調(diào)整redis的主備模式為最初的部署架構(gòu)2.在任意一臺(tái)主機(jī)上執(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、主機(jī)的主以及他對(duì)應(yīng)的兩個(gè)備節(jié)點(diǎn)。預(yù)期結(jié)果:26節(jié)點(diǎn)無法正常提供服務(wù),其他4臺(tái)主機(jī)節(jié)點(diǎn)依然可以正常提供服務(wù)l 宕主機(jī)Ø 依次宕主機(jī),每次停1臺(tái);每次停2臺(tái)停一臺(tái)主機(jī):模擬25主機(jī)故障宕機(jī)操作步驟:1.查出25主機(jī)的redis進(jìn)程,使用命令ps -ef | grep redis2.執(zhí)行kill -9 動(dòng)作,將主機(jī)上的6380,6381,6382端口對(duì)應(yīng)的節(jié)點(diǎn)進(jìn)程同時(shí)殺掉模擬26主機(jī)故障宕機(jī)操作步驟:1.查出26主機(jī)的redis進(jìn)程,使用命令ps -ef | grep redis2.執(zhí)行kill -9 動(dòng)作,將主機(jī)上的6380,6381,6382端口對(duì)應(yīng)的節(jié)點(diǎn)進(jìn)程同時(shí)殺掉模擬27主機(jī)故障宕

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

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

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

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

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

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

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

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

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

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

溫馨提示

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

評(píng)論

0/150

提交評(píng)論