《林兆祥-降本九成提效十倍:統一資源池理念重塑CLS規模紅利.pdf》由會員分享,可在線閱讀,更多相關《林兆祥-降本九成提效十倍:統一資源池理念重塑CLS規模紅利.pdf(26頁珍藏版)》請在三個皮匠報告上搜索。
1、zlinzlin(林兆祥)騰訊云CLS日志引擎研發負責人 T13工程師2024-06-14降本九成降本九成,提效十倍提效十倍 統一資源池重塑統一資源池重塑CLS規模紅利規模紅利1.百PB規模日志業務挑戰及應對成本、檢索、分析:三大核心能力10倍級提升2.統一資源池重塑云服務規模紅利降本九成:IO資源池優化成本近90%提效十倍:算力資源池提升分析能力數十倍技術路線討論:統一資源池 VS 超大規模集群 VS 彈性擴縮容3.方法論:數據驅動理論模型優化法探索優化理論邊界,CLS連續實現10倍級優化的底層邏輯目錄1.百百PB規模日志業務挑戰及應對規模日志業務挑戰及應對成本成本、檢索檢索、分析分析:三大
2、核心能力三大核心能力10倍級提升倍級提升2.統一資源池重塑云服務規模紅利降本九成:IO資源池優化成本近90%提效十倍:算力資源池提升分析能力數十倍技術路線討論:統一資源池 VS 超大規模集群 VS 彈性擴縮容3.方法論:數據驅動理論模型優化法探索優化理論邊界,CLS連續實現10倍級優化的底層邏輯目錄5CLS項目概況項目概況 成本敏感的海量日志檢索、分析平臺 CLS(Cloud Log Service)是騰訊云提供的一站式日志服務平臺一站式日志服務平臺,支持數據采集、檢索分析、數據清洗、可視化告警的一體化服務 CLS日志引擎核心能力:海量日志檢索&分析能力;日志數據量大,客戶對日志成本比較敏感
3、業務規??焖僭鲩L:售賣規模年增長超100%,總規模超過百PBCLS日志服務定位日志服務定位產品架構圖產品架構圖:支持支持60+種日志種日志&指標數據源指標數據源,數據數據采集采集、檢索分析檢索分析、數據清洗數據清洗、可視化告警可視化告警的一體化可觀測的一體化可觀測SaaS服務服務67挑戰挑戰&應對應對 檢索能力 入選頂會VLDB2022,比主流搜索引擎提高數十倍數十倍CLS時序搜索引擎性能提升數十倍:1.日志搜索以文本搜索為主,過去20多年,業界以傳統文本搜索引擎支撐日志檢索業務2.日志具有強時間屬性,傳統搜索引擎在百億條規模日志檢索中,僅時間索引就需要加載30GB3.CLS提出時序搜索引擎時
4、序搜索引擎理念,平均性能相對主流搜索引擎ES提升38倍,成果入選數據庫頂會VLDBES(基于Lucene)為業界主流搜索引擎(數據庫排名第7,搜索引擎子類第一)技術/專利點優化指標優化前性能優化后性能時間戳有序化CPUO(n)O(logn)索引IO優化IOO(logn)O(1)逆序二分檢索CPUO(n)O(logn)直方圖優化回表次數O(n)O(1)時序搜索引擎核心技術點時序搜索引擎核心技術點(VLDB論文論文)行業影響力:部分行業影響力:部分VLDBVLDB評委評價評委評價 大規模日志實時分析對工業界來說是一個重要的問大規模日志實時分析對工業界來說是一個重要的問題題,很多讀者都會對騰訊的解決
5、方案感興趣。相對Lucene來說,這篇論文的方案帶來了超過一個超過一個數量級數量級的查詢性能提升的查詢性能提升。作者們大幅提升了這種應用場景下常用查詢的效率,因此也能帶動相關云服務質量的有效提升帶動相關云服務質量的有效提升。挑戰挑戰&應對應對 分析能力 深挖云服務優勢,比主流分析引擎提高數十倍數十倍日志業務分析場景日志業務分析場景海量日志用戶行為分析,比如UV,PV等基于日志分析的監控告警能力客戶將CLS當作大數據分析引擎使用復雜分析能力優化核心里程碑復雜分析能力優化核心里程碑*超越搜索引擎階段超越搜索引擎階段:引入雙引擎技術架構,相對主流搜索引擎提升10倍級復雜數據分析能力(2000萬/分鐘
6、到2億/分鐘)。接近分析引擎階段接近分析引擎階段:不斷優化兩個引擎之間的交互效率,累計將分析能力提升數十倍(50億/分鐘),分析能力逼近主流大數據分析引擎。超越分析引擎階段超越分析引擎階段:引入統一計算架構,充分挖掘云服務規模優勢,再次將分析能力提升數十倍(500億+/分鐘),實現了分析能力上面對主流大數據分析引擎的超越。最差場景數據分析能力走勢圖最差場景數據分析能力走勢圖*備注:此處提的分析能力指最差場景的分析能力;通常情況下,較優場景的分析能力是最差場景的10倍以上,最優場景可達百倍千倍。從研發角度,提升最差場景的分析能力對產品更有實質意義*備注:此處的行,定義為3個字段,平均每行數據大小
7、100字節左右對數坐標對數坐標89挑戰挑戰&應對應對 成本能力 用成本解決客戶問題,用技術解決成本問題 應對:用技術解決成本問題,累計優化單位成本90%2022,2023,2024連續三年,日志引擎單位成本降幅每年超過50%連續獲得騰訊云成本優化排行榜第一名備注:2024年4月份前為真實成本數據,2024年4月份以后為預測數據 挑戰:用成本快速解決客戶不斷提高的能力期待10倍級流量跳變保持服務穩定超越搜索引擎的檢索體驗超越大數據分析的分析體驗產品能力演進1.百PB規模日志業務挑戰及應對成本、檢索、分析:三大核心能力10倍級提升2.統一資源池重塑云服務規模紅利統一資源池重塑云服務規模紅利降本九成
8、降本九成:IO資源池優化成本近資源池優化成本近90%提效十倍提效十倍:算力資源池提升分析能力數十倍算力資源池提升分析能力數十倍技術路線討論技術路線討論:統一資源池統一資源池 VS 超大規模集群超大規模集群 VS 彈性擴縮容彈性擴縮容3.方法論:數據驅動理論模型優化法探索優化理論邊界,CLS連續實現10倍級優化的底層邏輯目錄統一資源池統一資源池 降本九成提效十倍,重塑云服務規模紅利 CLS降本增效,是傳統軟件改造為云服務過程中,釋放規模紅利的結果。孤立集群:主流開源社區關注【單個集群】的能力最大化和成本最小化統一資源池:關注【100個集群】作為一個整體,如何做到能力最大化和成本最小化【孤立集群孤
9、立集群】集群隔離、節點隔離、磁盤隔離,導致云服務流失了規模優勢集群隔離:單集群0.5P能力,導致云服務100P規模和傳統軟件0.5P沒有實質差別,云只是“代客運維”【統一資源池統一資源池】解決資源孤島問題,實現算力資源和IO資源全局流通存算分離架構打破IO隔離,統一計算架構打破集群及節點間的算力隔離11IO資源池資源池 存算分離,解決IO資源隔離問題問題背景問題背景 早期CLS使用社區版ES作為存儲底座,成本居高不下,每年數億,其中存儲成本占比近80%。ES基于Share Nothing架構,數據存儲于本地磁盤理論成本推導理論成本推導 打破磁盤IO資源隔離,可以用性能更差、單位成本更低的存儲介
10、質;打破磁盤容量隔離,可以提高存儲使用率;存算分離架構優化,可以減少一半算力&存儲冗余;解決方案解決方案:基于對象存儲存算實施存算分離,整體可將日志引擎成本降低為原生ES的10%傳統傳統ES架構架構存算存算分離分離模型模型成本成本優化優化測算測算計算成本:1副本/2副本*50%=25%存儲成本:1/2*65%/100%*0.1/0.35*(1-30%)=6.4%整體成本:20%*25%+80%*6.4%=10.1%注:其中*50%為我們同步推進的全局負載均衡提升一倍CPU使用效率注:其中(1-30%)為我們同步推進的壓縮算法優化,減少數據量30%12IO資源池資源池 IO并行化獨家獨家實現對象
11、存儲上熱數據搜索分析能力問題背景問題背景對象存儲比本地磁盤慢百倍,業界只用來做冷存儲日志數據以短周期存儲(熱數據)為主,冷數據降本空間有限理論模型思路理論模型思路IO并行化可以通過并行沒有依賴關系的IO,將數百個IO調度到數個數個IO周期周期內完成以以IO為中心為中心設計檢索流程,解決對象存儲響應速度比本地磁盤慢百倍的問題解決方案解決方案IO并行化方案實現行業獨家在對象存儲上具備熱數據檢索分析能力傳統檢索算法周期數分析傳統檢索算法周期數分析:IO周期數周期數=segment數量數量*(檢索消耗檢索消耗IO周期周期+取數據消耗取數據消耗IO周期周期)=6*(29+20)=294IO并行化檢索算法
12、周期數分析并行化檢索算法周期數分析:IO周期數周期數=segment數量數量*(檢索消耗檢索消耗IO周期周期+取數據消耗取數據消耗IO周期周期)=1*(10+1)=11IO并行化效果測試數據并行化效果測試數據IO并行化效果分析并行化效果分析*單shard測試 數據量:28.6GB 數據條數:12719萬13算力資源池算力資源池 聯邦分析,分析能力提升10倍+問題背景問題背景:超大規模分析問題超大規模分析問題 大規模分析能力是客戶評價CLS能力的重要依據。其特點為低頻次,分析規模大;超大規模分析難題:提前準備資源:資源利用率低,資源浪費。按需擴容資源:分析屬于實時請求,很難在秒級擴容出上千個節點
13、。技術約束:集群規格有上限,目前集群最大規模200臺左右 理論分析理論分析:孤立集群影響系統能力孤立集群影響系統能力 單個分析只能用到單個集群資源,事實上云服務中同時存在數十個集群 解決方案解決方案:聯邦計算提高算力規模數十倍聯邦計算提高算力規模數十倍 將大規模分析任務拆分到多個集群中同時執行,可用算力從單個集群的百臺規模提升到數千臺。分析規模與頻次分布圖分析規模與頻次分布圖(存在極少數大規模分析)14孤立集群計算孤立集群計算 VS 聯邦分析聯邦分析(聯邦分析利用整個地域可用算力)算力資源池算力資源池 全局負載均衡,解決算力可預測性問題問題背景問題背景:算力可預測性問題算力可預測性問題數據特征
14、差異問題:基于數據量做任務拆分,由于數據特征不同,相同數據需要的算力并不相同突發流量問題:可能出現客戶突發寫入流量,導致特定節點寫入算力需求突增,對調度實時性提出很高的要求算力結構分解算力結構分解:輕狀態計算輕狀態計算+重狀態計算重狀態計算 輕狀態計算:編制數據索引,只依賴少量索引配置,占比2/3 重狀態計算:合并索引文件,索引文件數據量較大,占比1/3解決方案解決方案:全局負載均衡支持輕狀態計算遷移全局負載均衡支持輕狀態計算遷移遠程索引服務:支持輕狀態計算調度到其他節點執行實現了地域級全局負載均衡,降低了對調度的要求,提高了資源利用率遠程索引服務遠程索引服務(實現全局負載均衡)算力算力類型類
15、型分布分布突發流突發流量量15搶占式搶占式分析分析示意圖示意圖算力資源池算力資源池 搶占式分析,進一步優化算力問題背景問題背景:大規模分析算力問題大規模分析算力問題 為超大規模分析預留足夠的算力,造成平時算力閑置算力結構分解算力結構分解:實時計算實時計算+非實時計算非實時計算非實時計算:將小索引文件合并為大索引文件,允許分鐘級甚至十分鐘級延遲,占比占比1/3。實時計算:常駐:為日志數據編制倒排索引,要求寫入日志3s內可檢索,占比占比2/3。脈沖:執行大規模分析,規模大,持續時間短解決方案解決方案:搶占式分析優先保障分析時效搶占式分析優先保障分析時效搶占式分析,大規模分析過程中,臨時抑制非實時計
16、算,優先保障分析時效計算類型分計算類型分布布分析脈沖分析脈沖分析數量分布分析數量分布大規模分析占比大規模分析占比16技術路線討論技術路線討論 統一資源池 VS 超大規模集群超大規模集群問題超大規模集群問題故障半徑大:故障的爆炸半徑大是超大規模集群的最致命缺陷。集群故障影響客戶規模多故障恢復時間長:計算密集型服務,系統恢復需要消耗大量的資源,故障恢復時間和集群規模成正比運維經驗缺乏:超出業界主流集群規模,技術和運維經驗上面都需要逐漸沉淀隔離性差:缺乏足夠多的集群去隔離不同敏感程度的客戶17統一資源池統一資源池:小集群小集群,大聯邦大聯邦;集群隔集群隔離離,資源共享資源共享集群自治理念:集群平時保
17、持獨立模式運營,非必要不去動用跨集群的能力。兜底理念:極端情況下,可以人工關閉跨集群能力。在關閉跨集群能力的情況下,由于堅持了集群自治的理念,系統依然能夠保障99%的可用性。技術路線討論技術路線討論 統一資源池 VS 彈性擴縮容彈性擴縮容彈性擴縮容優點:門檻低,見效快,中小規模業務增強彈性能力的首選缺點:不能利用業務特性,無法挖掘業務相關的資源效率;導致大集群模式統一資源池統一資源池:貼近業務需求貼近業務需求,充分利用業務特性充分利用業務特性,挖掘規模紅利挖掘規模紅利聯邦集群:毫秒級+數萬核+零成本的擴容能力時間維度資源調度:搶占式分析,IO并行化統一資源池統一資源池+彈性擴縮容彈性擴縮容 降
18、低擴容的必要性:統一資源池強化了資源的流動性,只要任何一個集群存在空閑資源,就沒有必要給業務擴容。提升擴容的效率:實現了算力和IO資源的充分流動;只需要擴一些沒有業務數據的【空】集群,就能快速補充算力和IO資源181.百PB規模日志業務挑戰及應對成本、檢索、分析:三大核心能力10倍級提升2.統一資源池重塑云服務規模紅利降本九成:IO資源池優化成本近90%提效十倍:算力資源池提升分析能力數十倍技術路線討論:統一資源池 VS 超大規模集群 VS 彈性擴縮容3.方法論方法論:數據驅動數據驅動理論模型優化法理論模型優化法探索優化理論邊界探索優化理論邊界,CLS連續實現連續實現10倍級優化的底層邏輯倍級
19、優化的底層邏輯目錄20理論模型優化法理論模型優化法 優化的關鍵是什么?分享一個分享一個chatgpt編的故事編的故事:在一個古老的村落,李老漢偶然在家中發現了一張祖傳的藏寶圖。這張圖描繪了一個深埋地下五米的巨大寶藏。雖然年事已高,但他決心追尋這份財富。他仔細研究藏寶圖,對照地形,確定了寶藏的位置。帶著工具,他獨自踏上了尋寶之旅。途中,他憑借堅韌和智慧,克服了重重困難。到達指定地點后,李老漢開始挖掘。日復一日,他的雙手布滿了傷痕,但他的決心未曾動搖。終于,在一次鐵鍬下去,他聽到了金屬撞擊聲。他小心翼翼地挖開,露出了滿箱的金銀珠寶??赐旯适驴赐旯适?,思考一些問題思考一些問題:1.李老漢能夠挖到寶藏
20、,最關鍵的因素是什么?2.作為一名程序員,如果非常明確的知道系統的某個模塊有10倍級的優化空間,那么系統優化是不是就跟拿著藏寶圖挖寶藏一樣簡單?3.作為一名程序員,我們該如何去發現屬于自己的藏寶圖?理論模型優化法理論模型優化法 案例分析 識別主流搜索引擎百倍級性能缺陷問題背景問題背景CLS早期以ES(Elastic Search)為技術底座;ES是業界主流開源搜索引擎(數據庫排名第7,搜索引擎子類排名第一);發現百億數據的簡單select count(*)where xxx 耗時秒級理論模型推導理論模型推導將檢索出來的倒排鏈遍歷一遍,耗時應該在10ms級別沖突沖突理論模型推導值和壓測值差距百倍
21、差距百倍 成果成果時序搜索引擎,性能比ES快數十倍,成果被數據庫頂會VLDB2022收錄21搜索引擎原理示意圖搜索引擎原理示意圖ES為業界主流搜索引擎為業界主流搜索引擎(數據庫排名第數據庫排名第7,搜索引擎子類第一搜索引擎子類第一)理論模型優化法理論模型優化法 案例分析 揭示“磁盤型KV必慢于內存型KV”之謬誤“常識常識”:磁盤型磁盤型KV比內存型比內存型KV慢慢磁盤速度比內存慢因此,磁盤型KV速度比主流內存型KV速度慢數據模型推導數據模型推導在KV服務耗時構成中:網絡平均響應速度1msSSD磁盤平均響應速度0.1ms,磁盤耗時占比約10%(0.1/1.1=9%)沖突沖突理論模型顯示磁盤速度不
22、會導致磁盤型KV和內存型KV響應速度有實質差別成果成果在業務場景下,實現了比內存KV更快的磁盤KV,提高了性能,優化了90%+的成本,年優化成本數億22SSD磁盤響應速度測試磁盤響應速度測試(時間單位時間單位:us)磁盤型磁盤型KV(60臺臺)內存型內存型KV(900臺臺+)900*256G=225T單機256G內存60*14T=840T單機64G內存理論模型優化法理論模型優化法 案例分析 定義優化理論邊界模塊背景模塊背景 IP地址解析服務問題:輸入IP地址,從IP庫里面(900萬條記錄)檢索對應的信息,返回ip對應的信息。系統實現系統實現官方SDK性能:ipV4解析速度 22w/sCLS改進
23、實現:性能提升3倍,66w/s問題問題:如何評價如何評價CLS的改進實現的改進實現?初步評估分析:單CPU主頻2.5G,每條數據消耗2.5G/66w=3800個cycle,明顯太慢了理論邊界:2次cache miss=2*100個cycle;因為算法是logn的,其他部分可以預估為200個cycle。因此預估還有10倍提升空間。成果成果進一步優化,減少cache miss率,ipV4解析速度提升4倍:250w/s,距離理論邊界還有2.5倍100萬萬IP解析速度測試解析速度測試2324理論模型優化法理論模型優化法 數據驅動,探索優化理論邊界專家專家驅動驅動優化優化法法數據數據驅動驅動理論理論模型
24、模型優化優化法法熟悉系統實現熟悉系統實現想到想到/搜索搜索更好方案更好方案實現實現/測試測試缺點缺點:需要花費大量時間熟悉系統,可能是數個月或數年 過度熟悉系統,可能形成思維定式,缺乏天馬行空的創新想法 大部分情況下,只能發現局部最優解,而不是全局最優解構建理論模型構建理論模型測算理論最優解測算理論最優解定位差異根因定位差異根因提出改進方案提出改進方案優點優點:快速介入新領域:團隊沒有ES背景,3個月內將日志檢索性能提升數十倍 重新定義問題結構:引入業務變量(日志時間)+刪除無關變量(打分)探索理論最優解:探索基于業務數據的理論最優解,而不是跟隨/模仿競品理論模型優化法理論模型優化法 探索云日志服務各業務領域的理論最優解【時序搜索引擎】提升檢索性能數十倍【統一計算架構】提升分析能力數十倍【存算分離+IO并行化】降低成本近90%數據驅動數據驅動理論模型優化法理論模型優化法統一資源池統一資源池釋放云產品規模紅利釋放云產品規模紅利日志業務方向云業務方向25感謝傾聽