久久精品中文字幕免费_91香蕉国产亚洲一区二区三区_国产精品巨作无遮拦_亚洲人成电影

    <center id="oy65s"><ol id="oy65s"></ol></center>

  • <menu id="oy65s"></menu>
    當(dāng)前位置:首頁 > 足球資訊 > 正文內(nèi)容

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

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

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

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

    接下來,我們就來詳細展開看看。

    OBProxy高性能設(shè)計

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

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

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

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

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

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

    因此OBProxy可以做到CPU核心之間的負載均衡,充分發(fā)揮每一個核心的能力,不存在因為阻塞導(dǎo)致CPU利用率上不去的情況。

    OBProxy 優(yōu)化方向

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

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

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

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

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

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

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

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

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

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

    掃描二維碼推送至手機訪問。

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

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

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

    卡塔爾世界杯|H組:烏拉圭戰(zhàn)平韓國

    卡塔爾世界杯|H組:烏拉圭戰(zhàn)平韓國

      11月24日,烏拉圭隊球員埃丁森·卡瓦尼(中)射門。新華社記者 鄭煥松 攝   當(dāng)日,在卡塔爾賴揚教育城球場進行的2022卡塔爾世界杯足球賽H組比賽中,烏拉圭隊以0比0戰(zhàn)平韓國隊。...

    中國足彩網(wǎng)競彩27日推薦:加拿大阻擊克羅地亞

    中國足彩網(wǎng)競彩27日推薦:加拿大阻擊克羅地亞

      世界杯 克羅地亞VS加拿大   比賽時間:2022-11-28   00:00   球場:哈里發(fā)國際體育場   克羅地亞在上一屆世界杯拿到了亞軍,隨后曼朱基奇,拉基蒂奇等功勛從國家隊退役,球隊?wèi)?zhàn)斗力就出現(xiàn)了明顯的下滑趨勢。本次世界...

    足球——E組:日本不敵哥斯達黎加(2)

    足球——E組:日本不敵哥斯達黎加(2)

    當(dāng)日,在卡塔爾賴揚艾哈邁德·本·阿里體育場進行的2022卡塔爾世界杯足球賽E組比賽中,日本隊以0比1不敵哥斯達黎加隊。...

    足球場標準尺寸是多少?

    足球場標準尺寸是多少?

    足球比賽場地是長方形,其長度不得大于120米或小于90米,寬度不得大于90米或小于45米。在任何情況下,長度必須超過寬度。國際足聯(lián)(FIFA)對認可場地的規(guī)格要求為105*68米 。 5人制足球場尺寸...

    【足球比分】曼城VS皇馬,世紀大戰(zhàn)!

    【足球比分】曼城VS皇馬,世紀大戰(zhàn)!

    【昨日回顧】昨日贊賞的2場比賽順利打出是小虎擅長的英系西甲小虎會選出1~2場助老鐵們?nèi)珓僦胤祫佘墸?//歡迎支持一波走起!這一周必須加油,搞起! 足壇虎虎 希望大家接下來能多多支持。 01 昨日回顧“足壇虎虎 ”專注球壇,擅長球隊的形勢分析,尤其對歐...

    偽球迷30問 · 世界杯入門指南

    偽球迷30問 · 世界杯入門指南

    攤牌了,我不是一個球迷。 一提到最近的足球新聞,我想到的不是2022年卡塔爾世界杯,而是在電影《名偵探柯南:萬圣節(jié)的新娘》中,柯南又一次用足球拯救了日本。(沒有打廣告的意思) 一聊到世界杯,我也無法對歷屆的明星球員、進球名場面如數(shù)家珍。唯一印象深刻的是2010年南...

    ?