99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁職業(yè)發(fā)展干貨分享:CDC實時數(shù)據(jù)復(fù)制,大神教你調(diào)性能
干貨分享:CDC實時數(shù)據(jù)復(fù)制,大神教你調(diào)性能
2017-01-13
收藏

干貨分享:CDC實時數(shù)據(jù)復(fù)制,大神教你調(diào)性能

數(shù)據(jù)實時復(fù)制任務(wù)的成與敗,取決于多方面的因素,例如:被復(fù)制數(shù)據(jù)本身情況,源系統(tǒng)和目標(biāo)系統(tǒng)的自身運行狀況,網(wǎng)絡(luò)通訊方面,系統(tǒng)架構(gòu)設(shè)計和實施人員專業(yè)技術(shù)水平等等。面對復(fù)雜而艱巨的任務(wù),IBM 公司專業(yè)化實施團(tuán)隊積累了豐富的經(jīng)驗,以下是我們這次分享的 IBM InfoSphere CDC性能調(diào)優(yōu)的重點內(nèi)容。

1. 明白數(shù)據(jù)復(fù)制的需求和使用場景

改善并提升數(shù)據(jù)復(fù)制作業(yè)性能是雙向互動的操作,以滿足業(yè)務(wù)需求和目標(biāo)為根本出發(fā)點,其原因是:

  • 當(dāng)對某個運行進(jìn)程作了調(diào)優(yōu),并解決了該方面的性能瓶頸后,可能在該進(jìn)程的上游或下游地方,又產(chǎn)生了新的性能瓶頸,讓你很難能做到調(diào)整某一部分,就能解決性能上存在的全部問題。
  • 數(shù)據(jù)復(fù)制過程中,業(yè)務(wù)運作在不同時間段內(nèi)會有不同的要求,并不是一成不變的。例如:在業(yè)務(wù)交易時間段,數(shù)據(jù)實時變更頻繁,對 CDC 時延(Data Latency)要求較高,才能達(dá)致業(yè)務(wù)目標(biāo);但是,在業(yè)務(wù)日終結(jié)算處理時間段,則更多地聚焦于海量數(shù)據(jù)的后期加工和批量處理,反而對 CDC 時延(Data Latency)要求較低。

因此,我們在優(yōu)化數(shù)據(jù)復(fù)制的作業(yè)運行性能時,一切以業(yè)務(wù)需求為目標(biāo),采取合適手段來解決問題。否則,難以兩全其美,還影響業(yè)務(wù)運作。

2. 監(jiān)控總體性能情況

在確定調(diào)優(yōu)方案前,需要監(jiān)察 CDC 數(shù)據(jù)復(fù)制作業(yè)的總體性能狀況,其中包括:

CDC DataStore 健康狀況。

數(shù)據(jù)管理

CDC進(jìn)程運行時內(nèi)存的使用情況,占用率最高達(dá) 70%左右為最佳

數(shù)據(jù)管理
數(shù)據(jù)管理

利用 CDC Management Console探測潛在的性能瓶頸

數(shù)據(jù)管理

以下例子,其監(jiān)控信息結(jié)果說明了目標(biāo)端系統(tǒng)是性能瓶頸,數(shù)據(jù)從源系統(tǒng)復(fù)制傳送速度快于目標(biāo)系統(tǒng)的處理速度。

數(shù)據(jù)管理

3. 收集作業(yè)運行統(tǒng)計信息以進(jìn)行分析

IBM CDC 提供了全面收集作業(yè)運行過程中性能明細(xì)信息的有效手段,以下是以復(fù)制 Oracle 數(shù)據(jù)庫數(shù)據(jù)的作業(yè)為例子,所收集的信息種類和手段。

數(shù)據(jù)管理

4. 完成性能調(diào)優(yōu)任務(wù)

根據(jù)上述的復(fù)制Oracle 數(shù)據(jù)庫數(shù)據(jù)的作業(yè)為例子,確定調(diào)優(yōu)的方法如下。

數(shù)據(jù)管理

該策略為:

  • 在源系統(tǒng)保持捕獲合理的數(shù)據(jù)增量和傳送數(shù)據(jù)量 batch size;
  • 在目標(biāo)系統(tǒng)調(diào)整合理的更新數(shù)據(jù)量 batch size,并僅對變化的字段進(jìn)行更新(缺省是全部字段更新),以發(fā)揮最大處理性能;
  • 需要有豐富數(shù)據(jù)庫性能調(diào)優(yōu)經(jīng)驗和 IBM CDC 工具熟練使用技巧。

5. 評估性能優(yōu)化結(jié)果

IBM CDC 作業(yè)調(diào)優(yōu)前,其運行結(jié)果:

數(shù)據(jù)管理

從上圖信息可發(fā)現(xiàn):數(shù)據(jù)從源系統(tǒng)不斷地快速復(fù)制傳送到目標(biāo)系統(tǒng),但是目標(biāo)系統(tǒng)性能存在瓶頸,時延不斷地增大到最高峰值而沒回落,直到數(shù)據(jù)復(fù)制快結(jié)束時才開始回落。

IBM CDC 作業(yè)調(diào)優(yōu)后,其運行結(jié)果:

數(shù)據(jù)管理

從上圖信息可發(fā)現(xiàn):目標(biāo)系統(tǒng) CPU資源使用率明顯地比源系統(tǒng)高得多,數(shù)據(jù)庫性能得以充分發(fā)揮。數(shù)據(jù)復(fù)制的時延不算高,平均值和峰值差距不大。因此,CDC 作業(yè)調(diào)優(yōu)工作是富有成效的。 相對比其他友商的測試結(jié)果, IBM CDC 綜合能力和主要功能都稍勝一籌。


數(shù)據(jù)分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機(jī)數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進(jìn)行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個參數(shù)驗證碼對象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗服務(wù)器是否宕機(jī) new_captcha: data.new_captcha, // 用于宕機(jī)時表示是新驗證碼的宕機(jī) product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說明請參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計時完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }