AVt天堂网 手机版,亚洲va久久久噜噜噜久久4399,天天综合亚洲色在线精品,亚洲一级Av无码毛片久久精品

當前位置:首頁 > 科技  > 軟件

互聯(lián)網(wǎng)高并發(fā)設計的手段:架構(gòu)、算法、代碼

來源: 責編: 時間:2023-11-01 09:19:21 319觀看
導讀性能優(yōu)化目標1、縮短響應時間2、提高并發(fā)數(shù)(增加吞吐量)3、讓系統(tǒng)處于合理狀態(tài)圖片性能優(yōu)化手段1、空間換時間系統(tǒng)時間是瓶頸: 緩存復用計算結(jié)果,降低時間開銷,因為cpu時間較內(nèi)存容量更加昂貴。2、時間換空間 數(shù)據(jù)大小

性能優(yōu)化目標

1、縮短響應時間61g28資訊網(wǎng)——每日最新資訊28at.com

2、提高并發(fā)數(shù)(增加吞吐量)61g28資訊網(wǎng)——每日最新資訊28at.com

3、讓系統(tǒng)處于合理狀態(tài)61g28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片61g28資訊網(wǎng)——每日最新資訊28at.com

性能優(yōu)化手段

1、空間換時間

系統(tǒng)時間是瓶頸: 緩存復用計算結(jié)果,降低時間開銷,因為cpu時間較內(nèi)存容量更加昂貴。61g28資訊網(wǎng)——每日最新資訊28at.com

2、時間換空間   

  • 數(shù)據(jù)大小是瓶頸
  • 網(wǎng)絡傳輸是瓶頸,使用系統(tǒng)時間換取傳輸?shù)目臻g,使用HTTP的gzip壓縮算法    
  • app的請求分類接口,使用版本號判斷哪些數(shù)據(jù)更新,只下載更新的數(shù)據(jù)

61g28資訊網(wǎng)——每日最新資訊28at.com

3、找到系統(tǒng)瓶頸

  • 分析系統(tǒng)的業(yè)務流程,找到關(guān)鍵路徑并分解優(yōu)化
  • 調(diào)用了多少RPC接口,載入多少數(shù)據(jù),是用什么算法,非核心流程是否異步化。

性能優(yōu)化層次

1、架構(gòu)設計層次

如何拆分系統(tǒng) 如何使用部分系統(tǒng)整體負載更加均衡   充分發(fā)揮硬件設施性能優(yōu)勢  減少系統(tǒng)內(nèi)部開銷等61g28資訊網(wǎng)——每日最新資訊28at.com

2、算法邏輯層次

關(guān)注算法選擇是否高效,算法邏輯優(yōu)化,空間時間優(yōu)化任務執(zhí)行吃力,使用無鎖數(shù)據(jù)結(jié)構(gòu)。61g28資訊網(wǎng)——每日最新資訊28at.com

空間換時間:ThreadLocal61g28資訊網(wǎng)——每日最新資訊28at.com

時間換空間:采用壓縮算法壓縮數(shù)據(jù),更復雜的邏輯減少數(shù)據(jù)傳輸。61g28資訊網(wǎng)——每日最新資訊28at.com

3、代碼優(yōu)化層次

關(guān)注代碼細節(jié)優(yōu)化,代碼實現(xiàn)是否合理,是否創(chuàng)建了過多的對象,循環(huán)遍歷是否高效,cache使用是否合理 61g28資訊網(wǎng)——每日最新資訊28at.com

優(yōu)化層次:從整理到細節(jié),從全局角度到局部視角。61g28資訊網(wǎng)——每日最新資訊28at.com

代碼優(yōu)化層次(1)61g28資訊網(wǎng)——每日最新資訊28at.com

  • 循環(huán)遍歷是否合理高效,不要在循環(huán)里調(diào)RPC接口,傳輸分布式緩存 執(zhí)行SQL等
  • 先調(diào)用批量接口組裝好數(shù)據(jù),再循環(huán)處理
  • 代碼邏輯避免生成過多的對象和無效對象
  • 輸出Log時候的log級別判斷  避免new無效對象
  • ArrayList、HashMap初始容量設置是否合理
  • 對數(shù)據(jù)對象是否合理重用 比如RPC查到的數(shù)據(jù)能復用則必須復用,根據(jù)數(shù)據(jù)訪問特性選擇合適數(shù)據(jù)結(jié)構(gòu),比如讀多寫少考慮  CopyOrWriteArrayList(寫時copy副本),會否正確初始化數(shù)據(jù),有些全局共享的數(shù)據(jù),餓漢式模式,在用戶使用之前先初始化好。

61g28資訊網(wǎng)——每日最新資訊28at.com

代碼優(yōu)化層次(2)61g28資訊網(wǎng)——每日最新資訊28at.com

  • CPU Cache結(jié) 構(gòu)
  • 速度越來越高:內(nèi)存 - >L3->L2->L1多級緩存
  • 本質(zhì)上內(nèi)存是一個大的一維數(shù)組,二維數(shù)組在內(nèi)存中按行排列,先存放a[0]行,再存放a[1]行
  • 第一種遍歷方式,是行遍歷,先遍歷完一行再遍歷第二行,符合局部性原理Cache Hit  (緩存命中率高)
  • 第二種遍歷方式,是列遍歷,遍歷完第一列遍歷第二列,由于下一列和 上 一 列的數(shù)組元素在內(nèi)存中并不是連續(xù)的,很可能導致Cache  Miss ( 緩 存 未 命 中 ) , CPU 需要去內(nèi)存載入數(shù)據(jù),速度較CPU    L1Cache的速度降低 了很多(主存100ns,L1  cache  0.5ns)

61g28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片61g28資訊網(wǎng)——每日最新資訊28at.com

數(shù)據(jù)優(yōu)化層次

select count(*)from table where add  time<"2017- 11-0623:59:59"  and  status=0  add  count in(1,2) ORDER BY id ASC;

61g28資訊網(wǎng)——每日最新資訊28at.com

代碼邏輯要適應數(shù)據(jù)變化的場景61g28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片61g28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片61g28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片61g28資訊網(wǎng)——每日最新資訊28at.com

算法優(yōu)化邏輯層次

●用更高效的算法替換現(xiàn)有算法,而不改變其接口61g28資訊網(wǎng)——每日最新資訊28at.com

● 增量式算法,復用之前的計算結(jié)果,比如一個報表服務,要從全量數(shù)據(jù)中生成報表數(shù)據(jù)量很大,但是每次增量的數(shù)據(jù)較少,則可以考慮只計算增量數(shù)據(jù)和之前計算結(jié)果合并,這樣處理的數(shù)據(jù)量就小很多61g28資訊網(wǎng)——每日最新資訊28at.com

● 并發(fā)和鎖的優(yōu)化,讀多寫少的業(yè)務場景下,基于CAS的LockFree比mutex 性能更好61g28資訊網(wǎng)——每日最新資訊28at.com

● 當系統(tǒng)時間是瓶頸,采取空間換時間邏輯算法,分配更多空間節(jié)省系統(tǒng)時間61g28資訊網(wǎng)——每日最新資訊28at.com

● 緩存復用計算結(jié)果,降低時間開銷, CPU時間較內(nèi)存容量更加昂貴61g28資訊網(wǎng)——每日最新資訊28at.com

● 當系統(tǒng)空間容量是瓶頸,采取時間換空間算法策略61g28資訊網(wǎng)——每日最新資訊28at.com

● 網(wǎng)絡傳輸是瓶頸,使用系統(tǒng)時間換取空間的壓縮, HTTP的gzip 壓縮算法61g28資訊網(wǎng)——每日最新資訊28at.com

● APP的請求分類接口,使用版本號判斷哪些數(shù)據(jù)更新,只下載更新的數(shù)據(jù),使用更多的代碼邏輯處理更細粒 度的數(shù)據(jù)61g28資訊網(wǎng)——每日最新資訊28at.com

● 并行執(zhí)行,比如一段邏輯調(diào)用了多個RPC接口,而這些接口之間并沒有數(shù)據(jù)依賴,則可以考慮并行調(diào)用,降低響 應時間61g28資訊網(wǎng)——每日最新資訊28at.com

● 異步執(zhí)行,分析業(yè)務流程中的主次流程,把次要流程拆分出來異步執(zhí)行,更進一步可以拆分到單獨的模塊去執(zhí)行, 比如使用消息隊列,徹底和核心流程解耦,提高核心流程的穩(wěn)定性以及降低響應時間61g28資訊網(wǎng)——每日最新資訊28at.com

架構(gòu)層次優(yōu)化

● 系統(tǒng)微服務化61g28資訊網(wǎng)——每日最新資訊28at.com

● 無狀態(tài)化設計,動態(tài)水平彈性擴展61g28資訊網(wǎng)——每日最新資訊28at.com

● 調(diào)用鏈路梳理,熱點數(shù)據(jù)盡量靠近用戶61g28資訊網(wǎng)——每日最新資訊28at.com

● 分布式Cache 、 多級多類型緩存61g28資訊網(wǎng)——每日最新資訊28at.com

● 提前拒絕,保證柔性可用61g28資訊網(wǎng)——每日最新資訊28at.com

● 容量規(guī)劃61g28資訊網(wǎng)——每日最新資訊28at.com

● 分庫分表,讀寫分離,數(shù)據(jù)分片61g28資訊網(wǎng)——每日最新資訊28at.com

案例:61g28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片61g28資訊網(wǎng)——每日最新資訊28at.com

Feed流系統(tǒng)分級緩存

讀多寫少、冷熱數(shù)據(jù)明顯,熱點數(shù)據(jù)緩存到調(diào)用鏈路更靠近用戶的地方61g28資訊網(wǎng)——每日最新資訊28at.com

● L1緩存容量小負責抗最熱點的數(shù)據(jù), L2緩存考慮目標是容量,緩存更大范圍的數(shù)據(jù)(一般用戶的timeline), 高熱點,數(shù)據(jù)單獨緩存,比如設置白名單,大V 的用戶數(shù)據(jù)放在L1緩存61g28資訊網(wǎng)——每日最新資訊28at.com

● feed(關(guān)注的feed 、topic 的feed,一些運營的feed),前幾頁的訪問比例,前三頁占了90%+,針對這種業(yè)務特性,把 前面幾頁數(shù)據(jù)作為熱點數(shù)據(jù)提到L1 cache61g28資訊網(wǎng)——每日最新資訊28at.com

Feed系統(tǒng)消息發(fā)布Feed系統(tǒng)消息發(fā)布61g28資訊網(wǎng)——每日最新資訊28at.com


61g28資訊網(wǎng)——每日最新資訊28at.com

寫擴散 (PUSH)61g28資訊網(wǎng)——每日最新資訊28at.com

● 推送策略:拆分數(shù)據(jù)并行推,活躍用戶先推,非活躍用戶慢慢推61g28資訊網(wǎng)——每日最新資訊28at.com

● 有 1w個用戶關(guān)注,發(fā)了一個feed,拆分成100份,每份100個并行推61g28資訊網(wǎng)——每日最新資訊28at.com

● 1w個用戶里活躍的可能有2000個,活躍用戶先推,非活躍用戶慢慢推,保證活躍用戶體驗,非活躍用戶推 了很大概率也不看61g28資訊網(wǎng)——每日最新資訊28at.com

讀擴散(PULL)61g28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片61g28資訊網(wǎng)——每日最新資訊28at.com

61g28資訊網(wǎng)——每日最新資訊28at.com

Feed系統(tǒng)存儲選型61g28資訊網(wǎng)——每日最新資訊28at.com

圖片 圖片 61g28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.tebozhan.com/showinfo-26-16297-0.html互聯(lián)網(wǎng)高并發(fā)設計的手段:架構(gòu)、算法、代碼

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: C++“中年危機”有救了!C++之父新動作!

下一篇: 基于Python+Django+協(xié)同過濾推薦算法實現(xiàn)的【電影推薦與管理系統(tǒng)】

標簽:
  • 熱門焦點
  • 三言兩語說透設計模式的藝術(shù)-簡單工廠模式

    一、寫在前面工廠模式是最常見的一種創(chuàng)建型設計模式,通常說的工廠模式指的是工廠方法模式,是使用頻率最高的工廠模式。簡單工廠模式又稱為靜態(tài)工廠方法模式,不屬于GoF 23種設計
  • 不容錯過的MSBuild技巧,必備用法詳解和實踐指南

    一、MSBuild簡介MSBuild是一種基于XML的構(gòu)建引擎,用于在.NET Framework和.NET Core應用程序中自動化構(gòu)建過程。它是Visual Studio的構(gòu)建引擎,可在命令行或其他構(gòu)建工具中使用
  • 微信語音大揭秘:為什么禁止轉(zhuǎn)發(fā)?

    大家好,我是你們的小米。今天,我要和大家聊一個有趣的話題:為什么微信語音不可以轉(zhuǎn)發(fā)?這是一個我們經(jīng)常在日常使用中遇到的問題,也是一個讓很多人好奇的問題。讓我們一起來揭開這
  • 中國家電海外掘金正當時|出海專題

    作者|吳南南編輯|胡展嘉運營|陳佳慧出品|零態(tài)LT(ID:LingTai_LT)2023年,出海市場戰(zhàn)況空前,中國創(chuàng)業(yè)者在海外紛紛摩拳擦掌,以期能夠把中國的商業(yè)模式、創(chuàng)業(yè)理念、戰(zhàn)略打法輸出海外,他們依
  • ESG的面子與里子

    來源 | 光子星球撰文 | 吳坤諺編輯 | 吳先之三伏大幕拉起,各地高溫預警不絕,但處于厄爾尼諾大&ldquo;烤&rdquo;之下的除了眾生,還有各大企業(yè)發(fā)布的ESG報告。ESG是&ldquo;環(huán)境保
  • iQOO Neo8 Pro即將開售:到手價3099元起 安卓性能最強旗艦

    5月23日,iQOO如期舉行了新品發(fā)布會,全新的iQOO Neo8系列也正式與大家見面,包含iQOO Neo8和iQOO Neo8 Pro兩個版本,其中標準版搭載高通驍龍8+,而Pro版更
  • 引領(lǐng)旗艦級影像能力向中端機普及 OPPO K11 系列發(fā)布 1799 元起

    7月25日,OPPO正式發(fā)布K系列新品—— OPPO K11 。此次 K11 在中端手機市場長期被忽視的影像板塊發(fā)力,突破性地搭載索尼 IMX890 旗艦大底主攝,支持 OIS
  • 蘋果MacBook Pro 2021測試:仍不支持平滑滾動

    據(jù)10月30日9to5 Mac 消息報道,蘋果新的 14 英寸和 16 英寸 MacBook Pro 2021 上市后獲得了不錯的評價,亮點包括行業(yè)領(lǐng)先的性能,令人印象深刻的電池續(xù)航,精美豐
  • 電博會與軟博會實現(xiàn)"線下+云端"的雙線融合

    在本次“電博會”與“軟博會”雙展會利好條件的加持下,既可以發(fā)揮展會拉動人流、信息流、資金流實現(xiàn)快速交互流動的作用,繼而推動區(qū)域經(jīng)濟良性發(fā)展;又可以聚
Top