国产露脸精品国产沙发|极品妇被弄得99久九精品亚洲|亚洲va成精品在线播放人|日韩精品久久久免费观看

    
    

        <delect id="w59je"></delect>

            當(dāng)前位置:首頁(yè) > 足球資訊 > 正文內(nèi)容

            揭秘OceanBase!它的OBProxy單機(jī)性能提升是如何實(shí)現(xiàn)的?

            杏彩體育2年前 (2023-01-31)足球資訊44

            OBProxy產(chǎn)品從2014年開始設(shè)計(jì)研發(fā),至今已經(jīng)有近8年的歷史,其產(chǎn)品在螞蟻內(nèi)部、專有云場(chǎng)景、公有云場(chǎng)景都有廣泛的使用,在訪問鏈路上承擔(dān)了重要的作用。而為了實(shí)現(xiàn)OBProxy高性能特性,研發(fā)團(tuán)隊(duì)做了大量的工作,其中就包括OBproxy 單機(jī)性能優(yōu)化工作。

            綜合來(lái)說(shuō),包括在OBProxy的功能設(shè)計(jì)和編碼實(shí)現(xiàn)時(shí)考慮性能影響,面向高性能編程,降低新功能帶來(lái)的性能損耗;關(guān)注新的硬件、linux內(nèi)核和編譯器技術(shù),使用新技術(shù)帶來(lái)性能優(yōu)化;以及建立性能回歸體系,對(duì)每個(gè)版本做嚴(yán)格性能回歸,保證性能優(yōu)化的成果。

            接下來(lái),我們就來(lái)詳細(xì)展開看看。

            OBProxy高性能設(shè)計(jì)

            OBProxy在設(shè)計(jì)之初就考慮了高性能:

            采用C++語(yǔ)言編寫,可以充分使用硬件、內(nèi)核的特性,也減少一些語(yǔ)言的GC等機(jī)制對(duì)性能影響;

            設(shè)計(jì)優(yōu)秀的多線程模型,可以充分發(fā)揮每一個(gè)CPU核心的能力,架構(gòu)上做到盡量簡(jiǎn)單;

            編碼時(shí)采用異步調(diào)用、內(nèi)存池、減少Buffer拷貝等手段優(yōu)化性能。

            如果用一句話概括,OBProxy通過多線程和異步框架提供優(yōu)異的性能。不過為了滿足異步接口的使用,產(chǎn)品也做了一些犧牲,將一個(gè)完整的流程會(huì)被切割成多段代碼,對(duì)代碼可讀性有一定影響。

            對(duì)于OBProxy的線程模型,下圖描述了公有云上OBProxy在16c機(jī)器上的任務(wù)分發(fā)模型。線程主要分為兩類:accept線程和work線程。accept有兩個(gè),work線程有16個(gè)(根據(jù)CPU核數(shù)確定)。work線程完全一樣,accept線程完成TCP建連后,會(huì)將對(duì)應(yīng)的套接字輪詢的發(fā)給每個(gè)work線程。每個(gè)work線程運(yùn)行epoll機(jī)制,進(jìn)行套接字的讀寫、異常等處理工作。

            因此OBProxy可以做到CPU核心之間的負(fù)載均衡,充分發(fā)揮每一個(gè)核心的能力,不存在因?yàn)樽枞麑?dǎo)致CPU利用率上不去的情況。

            OBProxy 優(yōu)化方向

            雖然OBProxy有了優(yōu)秀的線程模型和異步框架,但隨著功能的不斷豐富,對(duì)性能也會(huì)產(chǎn)生一定的損耗。此時(shí)該如何提升性能?需要從應(yīng)用、編譯器和內(nèi)核、硬件三層去做性能優(yōu)化。

            對(duì)于應(yīng)用層的優(yōu)化,常見做法分為四步:

            1、確定優(yōu)化場(chǎng)景:如數(shù)據(jù)庫(kù)常選擇sysbench中的場(chǎng)景或者TPCC場(chǎng)景;

            2、分析性能消耗:通過perf火焰圖、打日志等一些手段獲取性能消耗分布,從大到小,模塊、函數(shù)、代碼語(yǔ)句層層拆分下去,明確問題點(diǎn);

            3、提出解決方案:無(wú)論是從設(shè)計(jì)上還是C++一些優(yōu)化技巧(如減少拷貝、減少鎖使用等)提出優(yōu)化方案;

            4、驗(yàn)證優(yōu)化效果:根據(jù)方案進(jìn)行編碼,并重新驗(yàn)證優(yōu)化效果。

            就大部分情況而言,應(yīng)用層優(yōu)化效果都很顯著。至于編譯器和內(nèi)核新特性使用,內(nèi)核和編譯器技術(shù)也在不斷發(fā)展,在性能方面也會(huì)提供越來(lái)越多的新特性,而這些技術(shù)發(fā)展并應(yīng)用到實(shí)踐中,都可以提升OBProxy性能。

            硬件方面,主要是探索RDMA在 OceanBase 數(shù)據(jù)庫(kù)的使用。對(duì)于RDMA,除了大家知道的對(duì)延遲的影響,另一個(gè)重要作用就是Bypass Kernel,節(jié)約CPU,優(yōu)化性能。在分析OBProxy性能時(shí),可以發(fā)現(xiàn)內(nèi)核態(tài)進(jìn)行TCP報(bào)文收發(fā)就可能占用30%~ 50%的CPU資源。使用Bypass Kernel設(shè)計(jì)(參考下圖),可以進(jìn)一步提升OBProxy性能。

            對(duì)于OBproxy項(xiàng)目,版本功能迭代是性能的一大殺手。新的功能特性意味著新代碼引入,代碼規(guī)模進(jìn)一步變大。除了指令數(shù)增加,對(duì)Cache命中率等硬件特性影響也會(huì)導(dǎo)致下降。因此需要平衡好新功能開發(fā)對(duì)性能影響:1、在性能設(shè)計(jì)時(shí)考慮性能影響,做評(píng)估好性能影響;2、建立完善的性能回歸體系,發(fā)現(xiàn)每一次的性能變化,并做好記錄。

            而最后根據(jù)工程實(shí)踐,每個(gè)迭代性能損耗可以控制很好。

            掃描二維碼推送至手機(jī)訪問。

            版權(quán)聲明:本文由財(cái)神資訊-領(lǐng)先的體育資訊互動(dòng)媒體轉(zhuǎn)載發(fā)布,如需刪除請(qǐng)聯(lián)系。

            本文鏈接:http://thecityplacetownhomes.com/?id=46295

            “揭秘OceanBase!它的OBProxy單機(jī)性能提升是如何實(shí)現(xiàn)的?” 的相關(guān)文章

            足球——C組:阿根廷對(duì)陣墨西哥

            足球——C組:阿根廷對(duì)陣墨西哥

            當(dāng)日,在卡塔爾盧賽爾盧賽爾球場(chǎng)進(jìn)行的2022卡塔爾世界杯足球賽C組比賽中,阿根廷隊(duì)對(duì)陣墨西哥隊(duì)。...

            今日足球競(jìng)彩 精選荷甲賽事分析 勝平負(fù)比分方向 掃盤八場(chǎng)心水推薦

            今日足球競(jìng)彩 精選荷甲賽事分析 勝平負(fù)比分方向 掃盤八場(chǎng)心水推薦

            荷甲 鹿特丹斯巴達(dá)VS特溫特 比賽時(shí)間:2022-11-12 03:00 鹿特丹斯巴達(dá) 特溫特 上輪聯(lián)賽踢平了前進(jìn)之鷹,3場(chǎng)連續(xù)拿下拿下的狀態(tài)被終結(jié),球隊(duì)在休賽期引進(jìn)了不少實(shí)力球員其中包括科約洛、斯泰恩、埃丁、蒂通和馬赫等實(shí)力球...

            意甲聯(lián)賽國(guó)際米蘭迎接開門紅,足球比分4-0盧卡庫(kù)收獲處子之球

            意甲聯(lián)賽國(guó)際米蘭迎接開門紅,足球比分4-0盧卡庫(kù)收獲處子之球

            北京時(shí)間8月27日凌晨,2019-2020賽季意甲聯(lián)賽第1輪的一場(chǎng)焦點(diǎn)戰(zhàn)在米蘭城梅阿查球場(chǎng)展開角逐,由國(guó)際米蘭主場(chǎng)迎戰(zhàn)升班馬萊切。盧卡庫(kù)在本次比賽中收獲意甲處子球,最終,國(guó)際米蘭4-0橫掃萊切,拿到了新賽季開門紅...

            關(guān)于暫停發(fā)布全國(guó)聯(lián)網(wǎng)單場(chǎng)競(jìng)猜游戲(競(jìng)彩)足球賽程的通知

            關(guān)于暫停發(fā)布全國(guó)聯(lián)網(wǎng)單場(chǎng)競(jìng)猜游戲(競(jìng)彩)足球賽程的通知

            競(jìng)彩網(wǎng)發(fā)布 中國(guó)體育彩票賽事公告: 公告內(nèi)容: 關(guān)于暫停發(fā)布全國(guó)聯(lián)網(wǎng)單場(chǎng)競(jìng)猜游戲 (競(jìng)彩)足球賽程的通知  2020-03-25 08:30  由于各大主流足球聯(lián)賽受新冠肺炎疫情影響推遲,即日起暫停發(fā)布全國(guó)聯(lián)網(wǎng)...

            標(biāo)準(zhǔn)足球場(chǎng)地尺寸

            標(biāo)準(zhǔn)足球場(chǎng)地尺寸

            體育設(shè)施產(chǎn)業(yè)新媒體 直擊體育設(shè)施產(chǎn)業(yè)最有價(jià)值資訊 足球場(chǎng),面積必須符合規(guī)則的規(guī)定。足球比賽場(chǎng)地是長(zhǎng)方形,其長(zhǎng)度不得大于120米或小于90米,寬度不得大于90米或小于45米。在任何情況下,長(zhǎng)度必須超過寬度。國(guó)際足聯(lián)規(guī)定標(biāo)準(zhǔn)的足球場(chǎng)長(zhǎng)度為105...

            體育場(chǎng)館各類球場(chǎng)標(biāo)準(zhǔn)尺寸介紹!

            體育場(chǎng)館各類球場(chǎng)標(biāo)準(zhǔn)尺寸介紹!

            >>>> 籃球場(chǎng):   常用規(guī)格是:28米×15米=320平方米   NBA球場(chǎng)規(guī)格   NBA的球場(chǎng)尺寸是長(zhǎng)28.65米,寬15.24米。球場(chǎng)的丈量是從界線的內(nèi)沿量起,線寬為5.08厘米。   球場(chǎng)兩端標(biāo)有長(zhǎng)方形的...

            ?