国产av一二三区|日本不卡动作网站|黄色天天久久影片|99草成人免费在线视频|AV三级片成人电影在线|成年人aV不卡免费播放|日韩无码成人一级片视频|人人看人人玩开心色AV|人妻系列在线观看|亚洲av无码一区二区三区在线播放

網(wǎng)易首頁 > 網(wǎ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)批量程序的性能測試,除了和聯(lián)機(jī)交易性能測試一樣關(guān)注服務(wù)器資源使用率是否合理、是否存在性能異常外,在測試執(zhí)行階段需要關(guān)注是否因數(shù)據(jù)分布不均衡導(dǎo)致部分并發(fā)子程序執(zhí)行時(shí)間過長,成為整體批量程序的“短板”,從而影響批量程序的整體時(shí)間。

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

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

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

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

圖1分片與分片鍵對應(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ù)改造前后批量程序邏輯對比

1)將待處理表中的所有數(shù)據(jù),按照一定的維度(如機(jī)構(gòu)號+該表的某個(gè)參數(shù)值)劃分成若干個(gè)任務(wù),單個(gè)任務(wù)就是某個(gè)機(jī)構(gòu)下某參數(shù)值對應(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)先級高)的任務(wù),任務(wù)結(jié)束時(shí),處理狀態(tài)改為已完成,子程序查找下一個(gè)未處理的任務(wù),直到任務(wù)表沒有狀態(tài)為初始化的任務(wù),所有子程序成功執(zhí)行完成。

實(shí)際測試場景執(zhí)行時(shí)采用1600萬條數(shù)據(jù)對某批量程序(該程序處理的業(yè)務(wù)數(shù)據(jù),各個(gè)分片鍵下的數(shù)據(jù)極不均衡,經(jīng)分析適用于本優(yōu)化方法)進(jìn)行測試數(shù)據(jù)準(zhǔn)備,按照優(yōu)先級處理任務(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)對于原有維度拆分出來的大任務(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í)行測試,由于生成任務(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í)行性能測試執(zhí)行時(shí)間對比。

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

4總結(jié)及展望

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

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

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

特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(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)推薦
大數(shù)據(jù)分析,在中國,找個(gè)身高1米7年入20萬的老公,到底有多難?

大數(shù)據(jù)分析,在中國,找個(gè)身高1米7年入20萬的老公,到底有多難?

深度報(bào)
2026-04-18 23:37:27
烏克蘭基輔槍擊事件已致5人死亡 槍手身份公布

烏克蘭基輔槍擊事件已致5人死亡 槍手身份公布

財(cái)聯(lián)社
2026-04-19 00:18:15
河北山東等9省區(qū)市部分地區(qū)有10級以上雷暴大風(fēng)

河北山東等9省區(qū)市部分地區(qū)有10級以上雷暴大風(fēng)

界面新聞
2026-04-19 08:27:33
網(wǎng)友稱山西一酒店回訪電話暴露其行程致家庭破碎,酒店回應(yīng):正;卦L,但電話沒接通

網(wǎng)友稱山西一酒店回訪電話暴露其行程致家庭破碎,酒店回應(yīng):正常回訪,但電話沒接通

瀟湘晨報(bào)
2026-04-18 22:04:11
新型啃老正在流行,68歲老人哭訴:你們的孝順讓我有苦說不出

新型啃老正在流行,68歲老人哭訴:你們的孝順讓我有苦說不出

蟬吟槐蕊
2026-04-18 08:26:05
比賽進(jìn)行中,現(xiàn)場近2萬人,觀眾突然喊話:懂不懂人情世故?

比賽進(jìn)行中,現(xiàn)場近2萬人,觀眾突然喊話:懂不懂人情世故?

極目新聞
2026-04-19 10:17:37
10萬港人擠爆深圳!月租3000住公寓,網(wǎng)友:風(fēng)水怎么輪流轉(zhuǎn)了?

10萬港人擠爆深圳!月租3000住公寓,網(wǎng)友:風(fēng)水怎么輪流轉(zhuǎn)了?

風(fēng)風(fēng)順
2026-04-19 02:05:03
罕見!北約30國駐布魯塞爾大使集體訪日

罕見!北約30國駐布魯塞爾大使集體訪日

參考消息
2026-04-18 17:59:50
coco 曝光張柏芝三胎生父后,再爆謝賢猛料,半分體面都不留

coco 曝光張柏芝三胎生父后,再爆謝賢猛料,半分體面都不留

橙星文娛
2026-04-19 06:54:10
在氣質(zhì)面前,年輕真的不值一提。

在氣質(zhì)面前,年輕真的不值一提。

小椰的奶奶
2026-04-19 01:52:39
上海中環(huán)擁堵愈演愈烈!南北高架段通行驟降,職住失衡成核心誘因

上海中環(huán)擁堵愈演愈烈!南北高架段通行驟降,職住失衡成核心誘因

媛來這樣
2026-04-19 00:01:46
攤主好心借手機(jī)被逼下跪后續(xù):家長真容曝光,孩子被處分全校社死

攤主好心借手機(jī)被逼下跪后續(xù):家長真容曝光,孩子被處分全校社死

奇思妙想草葉君
2026-04-19 00:15:57
拼多多抗法細(xì)節(jié)曝光:執(zhí)法人員手指被夾斷

拼多多抗法細(xì)節(jié)曝光:執(zhí)法人員手指被夾斷

大廠觀察
2026-04-19 08:51:09
面多加水,水多加面?外媒痛批:電車3噸重,填鴨式造車不可取!

面多加水,水多加面?外媒痛批:電車3噸重,填鴨式造車不可!

少數(shù)派報(bào)告Report
2026-04-17 07:03:05
1951年毛澤東宴請志愿軍四大軍長,開席前:吳信泉同志,坐我旁邊

1951年毛澤東宴請志愿軍四大軍長,開席前:吳信泉同志,坐我旁邊

大運(yùn)河時(shí)空
2026-04-18 09:50:03
恒大超級蛀蟲劉永灼:甚至比許家印還能攬財(cái),狂燒千億終落法網(wǎng)

恒大超級蛀蟲劉永灼:甚至比許家印還能攬財(cái),狂燒千億終落法網(wǎng)

小曙說娛
2026-04-19 00:27:45
何潤東回應(yīng)亮相“蘇超”為何不騎馬:10年前一定騎馬,現(xiàn)在50多歲了,“一摔下來就幻滅,對項(xiàng)羽不太尊重,想給大家留下美好印象”

何潤東回應(yīng)亮相“蘇超”為何不騎馬:10年前一定騎馬,現(xiàn)在50多歲了,“一摔下來就幻滅,對項(xiàng)羽不太尊重,想給大家留下美好印象”

揚(yáng)子晚報(bào)
2026-04-19 09:12:34
肯納德27分湖人戰(zhàn)勝火箭贏下G1,杜蘭特缺陣火箭一片藍(lán)領(lǐng)

肯納德27分湖人戰(zhàn)勝火箭贏下G1,杜蘭特缺陣火箭一片藍(lán)領(lǐng)

李廣專業(yè)體育評論
2026-04-19 11:24:51
“外軍飛機(jī)就在旁邊……”南部沿海一線,飛行員最新披露!

“外軍飛機(jī)就在旁邊……”南部沿海一線,飛行員最新披露!

環(huán)球網(wǎng)資訊
2026-04-19 09:53:02
哈登價(jià)值盡顯!騎士季后賽喜迎開門紅,一戰(zhàn)完美印證引援抉擇!

哈登價(jià)值盡顯!騎士季后賽喜迎開門紅,一戰(zhàn)完美印證引援抉擇!

田先生籃球
2026-04-19 05:19:57
2026-04-19 11:47:00
51Testing軟件測試網(wǎng) incentive-icons
51Testing軟件測試網(wǎng)
中國軟件測試人的精神家園
1558文章數(shù) 13260關(guān)注度
往期回顧 全部

科技要聞

50分26秒破人類紀(jì)錄!300臺機(jī)器人狂飆半馬

頭條要聞

牛彈琴:伊朗遭到特朗普"羞辱"被激怒 結(jié)果印度遭了殃

頭條要聞

牛彈琴:伊朗遭到特朗普"羞辱"被激怒 結(jié)果印度遭了殃

體育要聞

掘金擒狼開門紅:五花肉與小辣椒

娛樂要聞

張?zhí)鞇墼u論區(qū)淪陷!被曝卷入小三風(fēng)波

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

華誼兄弟,8年虧光85億

汽車要聞

29分鐘大定破萬 極氪8X為什么這么多人買?

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

本地
時(shí)尚
藝術(shù)
公開課
軍事航空

本地新聞

12噸巧克力有難,全網(wǎng)化身超級偵探添亂

選對發(fā)型,真的能少走很多變美彎路

藝術(shù)要聞

鄭麗文大陸之行引發(fā)熱議,孫中山贈(zèng)對聯(lián)成焦點(diǎn)!

公開課

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

軍事要聞

伊朗宣布關(guān)閉霍爾木茲海峽

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