亚洲中文字幕乱码亚洲-蜜桃成熟视频在线观看-免费中文字幕视频在线-中国五十路熟妇洗澡视频-亚洲av伊人啪啪c-国产精品成人一区二区-国产自拍视频一区在线观看-成人一区不卡二区三区四区-亚洲情精品中文字幕99在线

網(wǎng)易首頁 > 網(wǎng)易號(hào) > 正文 申請(qǐng)入駐

時(shí)間減少90%以上!分布式系統(tǒng)的性能優(yōu)化實(shí)戰(zhàn)

0
分享至

1背景

分布式批量系統(tǒng)指的是采用分布式數(shù)據(jù)庫架構(gòu),主體功能由批量程序?qū)崿F(xiàn)的系統(tǒng)。分布式系統(tǒng)批量程序的性能測(cè)試,除了和聯(lián)機(jī)交易性能測(cè)試一樣關(guān)注服務(wù)器資源使用率是否合理、是否存在性能異常外,在測(cè)試執(zhí)行階段需要關(guān)注是否因數(shù)據(jù)分布不均衡導(dǎo)致部分并發(fā)子程序執(zhí)行時(shí)間過長,成為整體批量程序的“短板”,從而影響批量程序的整體時(shí)間。

下面我主要介紹一種分布式系統(tǒng)批量程序性能優(yōu)化的思路,并結(jié)合實(shí)際測(cè)試效果說明。

2分布式系統(tǒng)分片和批量并發(fā)規(guī)則

被測(cè)系統(tǒng)數(shù)據(jù)庫為分布式數(shù)據(jù)庫,存儲(chǔ)并處理某公司各個(gè)機(jī)構(gòu)的業(yè)務(wù)數(shù)據(jù),包括若干個(gè)數(shù)據(jù)庫分片、500多個(gè)分片鍵(分布式表的一個(gè)主鍵字段,用來區(qū)分?jǐn)?shù)據(jù)存放的分片),分片鍵值是由機(jī)構(gòu)ID號(hào)(以下簡(jiǎn)稱機(jī)構(gòu)號(hào))按照一定規(guī)則映射而來。每個(gè)分片包含若干分片鍵,某個(gè)分片鍵對(duì)應(yīng)若干機(jī)構(gòu)的數(shù)據(jù)。

批量程序執(zhí)行時(shí),根據(jù)系統(tǒng)相關(guān)配置表中的靜態(tài)配置,500多個(gè)子程序并發(fā)分別處理對(duì)應(yīng)分片鍵下的業(yè)務(wù)數(shù)據(jù)。各個(gè)子程序處理邏輯相同,所以當(dāng)某些子程序待處理的數(shù)據(jù)量相對(duì)其他子程序過多時(shí)(即該分片鍵下機(jī)構(gòu)數(shù)據(jù)明顯多于其他分片鍵下數(shù)據(jù)),這些耗時(shí)長的子程序會(huì)拖慢整體程序的效率。

圖1分片與分片鍵對(duì)應(yīng)關(guān)系

3搶任務(wù)方式優(yōu)化數(shù)據(jù)分布不均衡的批量程序

3.1由靜態(tài)并發(fā)改造搶任務(wù)模式

根據(jù)系統(tǒng)按分片鍵靜態(tài)并發(fā)的特點(diǎn),當(dāng)批量程序子程序間處理數(shù)據(jù)分布不均衡時(shí),部分子程序執(zhí)行時(shí)間過長,成為整體批量程序的“短板”,從而影響批量的整體時(shí)間。為解決上述問題,本系統(tǒng)采取了“搶任務(wù)”的動(dòng)態(tài)并發(fā)優(yōu)化方法。

圖2搶任務(wù)改造前后批量程序邏輯對(duì)比

1)將待處理表中的所有數(shù)據(jù),按照一定的維度(如機(jī)構(gòu)號(hào)+該表的某個(gè)參數(shù)值)劃分成若干個(gè)任務(wù),單個(gè)任務(wù)就是某個(gè)機(jī)構(gòu)下某參數(shù)值對(duì)應(yīng)的數(shù)據(jù)。

2)在實(shí)際處理數(shù)據(jù)程序執(zhí)行之前,添加一個(gè)生成任務(wù)程序,執(zhí)行該程序就會(huì)在任務(wù)表中添加全部任務(wù)的記錄,所有任務(wù)當(dāng)前處于初始化狀態(tài)。

3)生成任務(wù)程序執(zhí)行后,自動(dòng)調(diào)起數(shù)據(jù)處理程序,改造后的程序不再按照靜態(tài)并發(fā),而是去查詢?nèi)蝿?wù)表中狀態(tài)為初始化且數(shù)據(jù)量大(優(yōu)先級(jí)高)的任務(wù),任務(wù)結(jié)束時(shí),處理狀態(tài)改為已完成,子程序查找下一個(gè)未處理的任務(wù),直到任務(wù)表沒有狀態(tài)為初始化的任務(wù),所有子程序成功執(zhí)行完成。

實(shí)際測(cè)試場(chǎng)景執(zhí)行時(shí)采用1600萬條數(shù)據(jù)對(duì)某批量程序(該程序處理的業(yè)務(wù)數(shù)據(jù),各個(gè)分片鍵下的數(shù)據(jù)極不均衡,經(jīng)分析適用于本優(yōu)化方法)進(jìn)行測(cè)試數(shù)據(jù)準(zhǔn)備,按照優(yōu)先級(jí)處理任務(wù)300個(gè)子程序動(dòng)態(tài)并發(fā)執(zhí)行,按當(dāng)前維度共生成11萬個(gè)任務(wù),所有子程序均在33分鐘內(nèi)完成,無明顯過長的子程序,總體執(zhí)行時(shí)間32分21秒,系統(tǒng)資源和數(shù)據(jù)庫資源利用率均正常。

3.2優(yōu)化任務(wù)處理數(shù)據(jù)量

按前述優(yōu)化的生成任務(wù)維度,有個(gè)別任務(wù)處理數(shù)據(jù)量仍然很大,如果不進(jìn)行進(jìn)一步拆分還是存在一定“短板”,且生成的任務(wù)過多,大量任務(wù)都是小數(shù)據(jù)量任務(wù),處理數(shù)據(jù)程序頻繁搶“小任務(wù)”并更新數(shù)據(jù)的效率較低。為解決上述問題,程序進(jìn)行了第二次優(yōu)化。

1)生成任務(wù)時(shí)增加限制任務(wù)處理數(shù)據(jù)量的參數(shù),該參數(shù)作用是規(guī)定單個(gè)任務(wù)的最大數(shù)據(jù)處理數(shù),當(dāng)同一分片鍵維度的任務(wù)處理數(shù)據(jù)量未達(dá)到這個(gè)值時(shí),將這幾個(gè)任務(wù)合并為一個(gè)更大的任務(wù),如果分片鍵發(fā)生了切換,則生成下一個(gè)任務(wù)。

2)對(duì)于原有維度拆分出來的大任務(wù),通過增加維度的字段,使單個(gè)維度的處理數(shù)據(jù)量降低,這樣一個(gè)維度包含的數(shù)據(jù)更小,同時(shí)也參照上述參數(shù)限定任務(wù)最大數(shù)據(jù)處理數(shù)。

上述優(yōu)化主要目標(biāo)即控制個(gè)別“大任務(wù)”的處理數(shù)據(jù)量,合并多數(shù)“小任務(wù)”,使任務(wù)總量變少,減少搶任務(wù)造成的時(shí)間成本,并且任務(wù)之間處理數(shù)據(jù)量更均衡。

按上述策略優(yōu)化的生成任務(wù)程序和數(shù)據(jù)處理程序,并發(fā)數(shù)不變,仍然采用同樣數(shù)據(jù)進(jìn)行準(zhǔn)備并執(zhí)行測(cè)試,由于生成任務(wù)的規(guī)則變化,生成的任務(wù)量由原來的10萬以上降低到1000以內(nèi),生成任務(wù)時(shí)間增為2分40秒,執(zhí)行數(shù)據(jù)處理程序時(shí)間降低為12分33秒,生成任務(wù)和處理數(shù)據(jù)的總執(zhí)行時(shí)間比第一次優(yōu)化明顯提升。下表是兩次優(yōu)化執(zhí)行性能測(cè)試執(zhí)行時(shí)間對(duì)比。

該批量程序按上述策略兩次優(yōu)化后,生產(chǎn)環(huán)境中處理時(shí)間由優(yōu)化前的近4小時(shí)縮短到15分鐘左右,時(shí)間減少90%以上,且系統(tǒng)資源運(yùn)行平穩(wěn),無性能瓶頸。

4總結(jié)及展望

通過分布式系統(tǒng)的性能測(cè)試實(shí)踐,我們根據(jù)系統(tǒng)特點(diǎn)在批量程序性能優(yōu)化方面積累了一定經(jīng)驗(yàn)。搶任務(wù)性能優(yōu)化方式解決了批量程序不同分片鍵處理數(shù)據(jù)量不均衡導(dǎo)致的執(zhí)行時(shí)間過長問題,在項(xiàng)目測(cè)試中取得了明顯的優(yōu)化效果。

未來我還將持續(xù)探索分布式系統(tǒng)的批量測(cè)試技術(shù)和測(cè)試方法,加強(qiáng)系統(tǒng)分析與調(diào)優(yōu)能力,為提升分布式批量系統(tǒng)效率及可靠性繼續(xù)努力。

最后:在我的V:atstudy-js,可以免費(fèi)領(lǐng)取一份10G軟件測(cè)試工程師面試寶典文檔資料。以及相對(duì)應(yīng)的視頻學(xué)習(xí)教程免費(fèi)分享!其中包括了有基礎(chǔ)知識(shí)、Linux必備、Shell、互聯(lián)網(wǎng)程序原理、Mysql數(shù)據(jù)庫、抓包工具專題、接口測(cè)試工具、測(cè)試進(jìn)階-Python編程、Web自動(dòng)化測(cè)試、APP自動(dòng)化測(cè)試、接口自動(dòng)化測(cè)試、測(cè)試高級(jí)持續(xù)集成、測(cè)試架構(gòu)開發(fā)測(cè)試框架、性能測(cè)試、安全測(cè)試等。

特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關(guān)推薦
熱點(diǎn)推薦
腸道是否長息肉,會(huì)有4個(gè)提示,上廁所時(shí)要記的多看一眼!

腸道是否長息肉,會(huì)有4個(gè)提示,上廁所時(shí)要記的多看一眼!

芹姐說生活
2026-04-19 23:32:30
離大譜!大媽沖進(jìn)餐廳強(qiáng)行放生龍蝦,結(jié)果人家是寵物,直接被她救死了...

離大譜!大媽沖進(jìn)餐廳強(qiáng)行放生龍蝦,結(jié)果人家是寵物,直接被她救死了...

英國那些事兒
2026-04-17 23:25:19
日本突襲!28萬億市場(chǎng),中國被踢出局,高市早苗亮出3張底牌

日本突襲!28萬億市場(chǎng),中國被踢出局,高市早苗亮出3張底牌

瑛派兒老黃
2026-04-20 10:40:36
廣東一酒店女子拆快遞誤甩飛美工刀打到同事脖頸,酒店:沒有劃到脖子,不是故意的

廣東一酒店女子拆快遞誤甩飛美工刀打到同事脖頸,酒店:沒有劃到脖子,不是故意的

瀟湘晨報(bào)
2026-04-19 20:49:12
多名院士研究發(fā)現(xiàn):吃一把花生,就等于吃了兩勺黃油,真的假的?

多名院士研究發(fā)現(xiàn):吃一把花生,就等于吃了兩勺黃油,真的假的?

蜉蝣說
2026-04-20 10:18:20
為什么在我國不允許拍鬼片了?看完網(wǎng)友的真實(shí)經(jīng)歷,感覺禁得好

為什么在我國不允許拍鬼片了?看完網(wǎng)友的真實(shí)經(jīng)歷,感覺禁得好

情感大頭說說
2026-04-20 03:02:35
砸6700億建雄安,面積抵3個(gè)紐約,如今究竟咋樣了?

砸6700億建雄安,面積抵3個(gè)紐約,如今究竟咋樣了?

娛樂圈的筆娛君
2026-03-26 12:15:32
遲來的關(guān)心猶如砒霜!網(wǎng)友:快退休了我媽突然擔(dān)心我值班沒飯吃

遲來的關(guān)心猶如砒霜!網(wǎng)友:快退休了我媽突然擔(dān)心我值班沒飯吃

夜深愛雜談
2026-04-20 09:16:13
徐明聯(lián)手本拉登家族,400億硬剛中石油,帝國崩塌

徐明聯(lián)手本拉登家族,400億硬剛中石油,帝國崩塌

圓夢(mèng)的小老頭
2026-04-17 23:52:41
萬字長文!黃仁勛:DeepSeek深度耦合華為,對(duì)美國來說將是災(zāi)難

萬字長文!黃仁勛:DeepSeek深度耦合華為,對(duì)美國來說將是災(zāi)難

財(cái)通社
2026-04-19 17:42:25
基辛格談中印戰(zhàn)爭(zhēng):雙方刻意碰撞結(jié)果,中國借印度給各國標(biāo)明紅線

基辛格談中印戰(zhàn)爭(zhēng):雙方刻意碰撞結(jié)果,中國借印度給各國標(biāo)明紅線

談史論天地
2026-04-19 07:59:55
聰明又招財(cái)!2026年這3個(gè)生肖人緣好到爆,財(cái)富接不完

聰明又招財(cái)!2026年這3個(gè)生肖人緣好到爆,財(cái)富接不完

毅談生肖
2026-04-20 10:49:51
第185場(chǎng)!1995年至今:詹姆斯季后賽勝場(chǎng)超越馬刺排名第一

第185場(chǎng)!1995年至今:詹姆斯季后賽勝場(chǎng)超越馬刺排名第一

北青網(wǎng)-北京青年報(bào)
2026-04-19 20:20:14
考古:大明湖挖出文物證實(shí),濟(jì)南是中國唯一5000年連續(xù)建城的城市

考古:大明湖挖出文物證實(shí),濟(jì)南是中國唯一5000年連續(xù)建城的城市

文史達(dá)觀
2026-03-27 16:15:00
戀愛腦的女人能有多離譜?看完評(píng)論區(qū)我愣住了,這些事真的存在嗎

戀愛腦的女人能有多離譜?看完評(píng)論區(qū)我愣住了,這些事真的存在嗎

夜深愛雜談
2026-04-19 09:56:53
內(nèi)維爾:阿森納已經(jīng)盡力做到最好,但瓜帥和曼城是一臺(tái)機(jī)器

內(nèi)維爾:阿森納已經(jīng)盡力做到最好,但瓜帥和曼城是一臺(tái)機(jī)器

懂球帝
2026-04-20 07:07:06
蘋果斷崖式領(lǐng)先,華為緊隨其后,小米第三

蘋果斷崖式領(lǐng)先,華為緊隨其后,小米第三

科技鋒說
2026-04-19 09:32:52
隨著曼城2-1槍手,利物浦2-1,英超最新排名出爐!槍手70分領(lǐng)跑

隨著曼城2-1槍手,利物浦2-1,英超最新排名出爐!槍手70分領(lǐng)跑

薇說體育
2026-04-20 10:52:44
愛德華茲:整場(chǎng)追著穆雷跑真的很累 他幾乎參與了每一次進(jìn)攻戰(zhàn)術(shù)

愛德華茲:整場(chǎng)追著穆雷跑真的很累 他幾乎參與了每一次進(jìn)攻戰(zhàn)術(shù)

北青網(wǎng)-北京青年報(bào)
2026-04-19 20:20:35
魯尼要去美國報(bào)道世界杯,科琳希望與他保持距離&分開冷靜

魯尼要去美國報(bào)道世界杯,科琳希望與他保持距離&分開冷靜

喜歡歷史的阿繁
2026-04-20 10:48:28
2026-04-20 11:24:49
51Testing軟件測(cè)試網(wǎng) incentive-icons
51Testing軟件測(cè)試網(wǎng)
中國軟件測(cè)試人的精神家園
1558文章數(shù) 13260關(guān)注度
往期回顧 全部

科技要聞

藍(lán)色起源一級(jí)火箭完美回收 客戶衛(wèi)星未入軌

頭條要聞

失蹤女老板被找到 嫌犯曾改名整容還催警察"還我清白"

頭條要聞

失蹤女老板被找到 嫌犯曾改名整容還催警察"還我清白"

體育要聞

七大獎(jiǎng)項(xiàng)候選官宣!文班或全票DPOY

娛樂要聞

章子怡!增重20斤素顏拍新片

財(cái)經(jīng)要聞

月之暗面IPO迷局

汽車要聞

外觀非常驚艷 全新一代寶馬6系有望回歸

態(tài)度原創(chuàng)

親子
游戲
旅游
家居
公開課

親子要聞

普通家庭養(yǎng)娃補(bǔ)鈣,90% 家長都補(bǔ)錯(cuò)了!

大司馬稱不想再玩《PUBG》:打的菜還總被噴!

旅游要聞

去藝術(shù)現(xiàn)場(chǎng),赴一次深度游

家居要聞

法式線條 時(shí)光靜淌

公開課

李玫瑾:為什么性格比能力更重要?

無障礙瀏覽 進(jìn)入關(guān)懷版