天天看點

UGeek大咖說 | 順豐科技:全鍊路壓測中的可觀測性實踐

作者:優維科技
UGeek大咖說 | 順豐科技:全鍊路壓測中的可觀測性實踐
UGeek大咖說 | 順豐科技:全鍊路壓測中的可觀測性實踐

導語

UGeek大咖說是優維科技為技術愛好者研讨雲原生技術演進趨勢而創辦的系列活動,邀請一線網際網路大廠的核心骨幹主講,分享原廠實踐。本年度主題為可觀測,我們希望通過一場場有趣、有料、有深度的活動,讓運維圈的小夥伴聚集在一起,深度交流與學習。

一月一期,不見不散!

9月27日,UGeek大咖說第九期圓滿結束,此次活動特邀到順豐科技應用架構進階工程師——李卓做客直播間,為我們講解全鍊路壓測中的可觀測性實踐。

李老師為我們分享了全鍊路壓測在大型複雜系統中的落地實踐案例,也讓我們從多個角度,更深地了解到可觀測性在全鍊路壓測等級演進中的探索及後續應用,也給我們講解了順豐科技的高峰壓測變革,介紹了全鍊路壓測在順豐落地過程中所遇到的挑戰,以及他們的應對方式,最後又逐一講解了可觀測性為壓測全鍊路保駕護航三部曲,以及大規模分布式系統下的應用無侵入性能監控的實作。

什麼是壓測

壓測,是保障系統穩定性的一種重要的方法,而鍊路追蹤等可觀測技術是壓測的關鍵能力。

那麼,可觀測在壓測領域的落地,會産生什麼樣的化學反應?我們在面對複雜的系統環境下,又該如何通過擷取全鍊路的追蹤資料和名額資料,去實作整個壓測過程的可觀測性呢?

李老師将會用實際案例帶我們一起剖析大型複雜系統下,可觀測性在全鍊路壓測中的落地實踐。

精華摘錄

一技術痛點

UGeek大咖說 | 順豐科技:全鍊路壓測中的可觀測性實踐

随着網際網路架構越來越複雜,傳統的壓測的方式在大規模的分布式系統下變得越來越不可行。主要面臨以下幾個痛點:

>>01 成本高

多個系統性能測試環境占用的硬體資源較大。性能環境的搭建鍊路複雜耗時長,人力成本投入巨大。

>>02 容量評估難

容量評估沒有統一好執行标準,評估的機器資源到活動時經常發現不準(裝置配置差異;裝置規模差異),易導緻容量瓶頸。

>>03 問題定位難

越來越複雜的應用拓撲,節點之間的調用關系變化比較頻繁,系統問題定位越來越難。

>>04 效果驗證難

分布式系統的性能名額在測試與真實環境差距較大,參考意義有限。

二高峰保障挑戰

系統容量:如何評估大規模分布式系統容量,防止高峰容量評估不準造成的雪崩效應。

系統穩定:線下性能環境與生産環境存在差異性,導緻線下壓測結果會存在一定的偏差,部分問題無法複現,導緻高峰存在風險隐患

保障效率:每年高峰壓測,搭建壓測環境需要耗時1-2周,壓測結束後,環境資源被回收,如此重複,耗費大量人力。

硬體成本:耗費大量資源塔建線下性能測試環境,比如2020年的一次性硬體成本就達到幹萬以上。

溝通協同:缺少标準化分析定位工具平台通協調多個團隊線下分析。

三行業壓測性能的演進:從線下到線上

目前整個物流行業基本上已經抛棄了線下做這性能測試,這種方案已經基本上全面的來轉到了線上來做生産的全關聯壓測,從這個線下到線上,大緻可以分成以下七個步驟:

UGeek大咖說 | 順豐科技:全鍊路壓測中的可觀測性實踐

四業務側與技術側使用者痛點

>>使用者痛點:業務側

每年雙十一高峰壓測面臨三個主要問題:壓測真實性偏差、成本高、無固定壓測環境。

>>使用者痛點:技術側

中間件不統一:中間件架構系統不一樣,數百個版本應用元件;

時間成本高:改造時間周期太長;

人才儲備少:缺少技術專家來做中間件優化。

五解決方案

适應科技現狀,基于JavaAgent全鍊路壓測方案,業務無需改造,JVM層實作壓測資料識别和轉發。

UGeek大咖說 | 順豐科技:全鍊路壓測中的可觀測性實踐

而在全鍊路壓測階段會有兩個關鍵特性:

「應用無侵入」的特性避免了業務系統的改造,尤其是涉及到數百應用的改造,不僅成本高,風險也大。

「可觀測性」的特性在壓測前鍊路梳理配置,壓測中監控告警熔斷,壓測後性能瓶頸診斷中至關重要。

六全鍊路壓測鐵三角

UGeek大咖說 | 順豐科技:全鍊路壓測中的可觀測性實踐

全鍊路壓測是一個非常龐大的體系,這裡面涉及到非常多的技術能力,大規模流量仿真,對順豐和一些雙11的流量非常大的網際網路企業來講,要有流量錄制和流量回放。流量錄制一般是基于腳本去做流量的仿真,但腳本的複雜度有限,很多的鍊路除了對量有要求,對場景也有很高的要求,通過腳本很難去模拟出真實場景的複雜度的,是以要把生産的流量先錄制下來,做相應的脫敏和偏移,然後再通過平台做大規模的這種流量回放。

第二是基于JavaAgent所做的資料安全隔離,包括應用的隔離,以及資料的隔離。全鍊路壓測要常态化、安全。

可觀測性在整個壓測中有非常重要的地位,包括壓測前的内容快速梳理;自動的告警熔斷;壓測後的性能瓶頸分析,可觀測性能夠幫助研發快速找到性能瓶頸所在,是一個非常核心的應用。

課堂問答

網友提問:壓測過程中,哪些名額是更需要重視的?

講師解答:壓測過程中名額是多方面的,整個的監控體系從基礎監控到應用監控、鍊路監控。都要看平台本身能夠提供的類似于apm鍊路監控,但是在壓測過程中間還會看一些基礎名額,例如壓測時鍊路正常,但CPU已達到80%-90%的負載,此時已不能繼續再壓,否則會出現後續問題,資料庫同理,有些硬碟容量會在壓測過程中持續寫入資料,是以壓測過程中還需要關注它的容量。

監控是個龐大的體系,單獨的apm、應用、基礎監控,每一個都是大體系,作為全鍊路來說,需要關注的是整個鍊路的綜合情況。

網友提問:可觀測性在壓測中做了什麼角色?

講師解答:壓測前是用通過可觀測性的半自動化鍊路配置;壓測中是結合監控告警名額,能夠做到自動告警和熔斷;那壓測後的話就是通過agent能夠采集到的名額放在壓測報告裡面,若能夠通過apm的名額直接分析,就可以大大加速問題定位的分析效率了。

繼續閱讀