1. 程式人生 > >智慧“排雷”技術,如何保障雙11資料鏈路百億次呼叫穩如泰山?

智慧“排雷”技術,如何保障雙11資料鏈路百億次呼叫穩如泰山?

640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1

阿里妹導讀:歷年雙11大促準備都是阿里各技術團隊需要攻克的一場硬仗。每年雙11,迎接我們的都是瞬間湧入的資料洪峰,作為集團的資料中臺,我們不僅要對外保障商家端的資料服務暢通無阻,還要保障內部各資料產品的流暢。

從2016年雙11結束之後,資料中臺產品技術團隊就開始著力從自動化大促備戰向智慧化保障的升級探索。

到現在為止,我們已經實現了通過“資料+機器學習演算法+智慧服務能力”,從穩定性、效率、效能、使用者體驗等方面,智慧化地保障資料鏈路的暢通無阻。本文將重點從壓測、全鏈路功能驗證、SQL效能治理三個方面介紹我們在2017雙11期間的智慧化實踐。

1、智慧壓測

單鏈路壓測、全鏈路壓測、效能壓測優化等,是每年大促保障的重頭戲。

傳統的壓測方法如下:

0?wx_fmt=jpeg

資料中臺的資料產品有上百個系統、壓測場景有 20W個左右;而上述這樣的壓測方式,以人肉評估目標QPS、或通過傳統方式的評估壓測資料模型,其實難以滿足產品覆蓋眾多系統,業務場景數巨大的效能壓測。

0?wx_fmt=jpeg

今年我們採用了時間序列預測技術、GBDT/決策樹等機器學習演算法,來提升壓測專項的智慧水平。基於DAS演算法模型平臺,提供時間序列預測服務;tensorflow、PAI機器學習平臺訓練的分類模型,部署到DAS演算法模型服務平臺提供分類預測服務,智慧壓測PIT平臺在今年618大促保障中,已經取得了顯著的效果。在今年的618大促中,覆蓋10多個數據產品系統,353次壓測任務執行,發現bug 4個。

0?wx_fmt=jpeg

雙11實踐效果進展

 在今年雙11大促備戰的全鏈路壓測中,資料產品及系統的目標QPS上百萬。壓測覆蓋10多個數據業務域的30多個核心繫統,19萬個壓測場景。

對核心保障的資料系統的QPS通過PIT進行了智慧預測,智慧配比生成19W+的大促壓測url的配比模型數,應用覆蓋率90% ;

 壓測調速的提升示例:針對村淘資料產品頁面的累計39個介面進行了智慧化調速測試,初步估算累計降低人力投入9個小時。

壓測報告結果判定:通過智慧判斷模型,對3輪全鏈路壓測的效能結果資料進行判斷,直接產出壓測結論。今年雙11壓測備戰發現26個問題。

0?wx_fmt=jpeg

通過智慧壓測的qps目標智慧預測,壓測精細化的資料配比智慧預測,及效能結果資料智慧決策分析,DT資料產品大概33個系統19萬壓測場景, 平均1個系統的全鏈路壓測整體工作大概能節省約 48-72小時。DT產品技術的一次大促壓測,整體能節省300多人日投入。

通過歷史大促資料的驗證,目前大促態的壓測qps預測模型準確率80%以上,壓測模型配比的準確率預測達到90% 以上,壓測結果資料的智慧預測分析模型準確率也達到了90%左右。已經達到了一個資深測試人員的水平。 2秒種的評估預測,能起到一個測試工程師培養2年後的評估效果。

2、全鏈路功能驗證

在每年的雙11業務保障中,全鏈路的功能測試驗證也是非常重要的環節。今年我們從線下的功能迴歸,到線上的質量監控;從產品的UI測試到底層介面及資料的測試,都實現了智慧化的測試及監控。

0?wx_fmt=jpeg

目前覆蓋了30多個核心資料業務系統。其中涉及智慧套件有:

神機營(UIT) ——智慧化介面迴歸測試系統-智慧質量稽核

傳統介面測試的結果校驗需要大量的斷言來檢查介面返回的資料,而我們通過使用GBDT演算法,對介面返回值通過資料介面模型、資料值合理性模型判斷,完成HTTP/HSF介面測試結果的自動化稽核,從而滿足10W級的自動化介面迴歸的測試效率、準確性需要。

通過分散式任務佇列,非同步、多程序及協程等技術提升了測試效率,20W個測試場景的迴歸測試驗證,只需要30分鐘就可以執行完成。

0?wx_fmt=jpeg

雙11備戰期間實踐效果進展

在今年雙11期間的保障中: 基線case數量:19W左右,覆蓋商家端、媒體端、小二端等31個數據應用;發現bug100+;日均保障場景數量2.7萬個;累計保障場景次數:400萬次。

斯沃特(SWT)——UI測試智慧遍歷

通過採集使用者操作行為資料,頁面dom元素資料,根據pv、uv等綜合因素選取資料生成測試鏈路,實現Web UI前端自動化測試用例的自動生成,解決UI自動化測試用例維護成本高,場景收集複雜的問題,實現對頁面所有可操作元素、多種瀏覽器的覆蓋。

0?wx_fmt=jpeg

目前,通過在topN的瀏覽器上,遍歷系統的頁面,獲取UI的url、頁面元素、截圖等資料;對UI迴歸的結果(涵蓋頁面js異常, UI影象識別判斷, base的判斷規則等)資料 進行智慧稽核的判斷。覆蓋基線case數8838、發現UI bug數10+個、覆蓋資料中臺核心系統26個、執行任務量2934、保障場景數高達164676。

頁面相容性智慧化測試系統(CIT)

用tensorflow等機器學習工具,基於卷積神經網路CNN等影象識別深度學習模型,自動識別各個瀏覽器的頁面截圖結果是否有異常或錯誤。應用到Web頁面瀏覽器相容性測試這個場景,能起到節約測試用例維護成本,提升測試執行效率,解放測試資源。

0?wx_fmt=jpeg

目前CIT在雙11的保障期間,總呼叫量:13.5萬,日均呼叫量:850張影象,總case數量:5892 ,巡檢發現線上bug3例。 

望樓(SEW)——智慧監控預警平臺

使用異常檢測分析、時序演算法模型,並通過關聯分析對時序資料指標進行智慧化的監控預警。sew可以不再侷限於某一個指標維度的資料監控,它涵括了業務資料、服務資料、運維資料和輿情資料,通過多個維度來保障線上產品的質量。望樓(SEW)同時通過線上巡檢(UI、介面)來實時監控產品的線上質量。

0?wx_fmt=jpeg

雙11實踐效果進展

目前的雙11保障中,望樓(SEW)已用於監控商家端資料產品,統一資料服務平臺等多個業務線產品14個系統上百個核心指標,共監控發現8個線上有效異常,其中一半預警是其他監控平臺未預警發現的。 

這些全鏈路功能的智慧化套件,目前覆蓋了資料中臺核心資料產品及系統的線下、線上質量保障,提升了產品及系統在雙11備戰期間及當天的穩定性。

3、慢SQL效能治理

某資料產品是為使用者提供不同資料來源的報表構建功能,統一使用者的查詢入口,方便的儲存報表資訊,沉澱使用者SQL。但是,該產品存在部分慢SQL會拖累整體的計算響應速度,導致整體報表的結果處理返回時長變長,導致效能損耗比較大,需要提升。

針對慢SQL,我們分為傳統解決方案與智慧化解決方案,從兩個方向入手,處理慢SQL問題。

智慧化方案和傳統方案的對比如下:

0?wx_fmt=jpeg

智慧化慢SQL治理流程如下:

1.採集使用者報表的原始資料(靜態SQL資料,暫時沒有涉及資源情況);

2.對原始資料做結構化處理,基於ANLTR4提取出SQL的AST語法關鍵特徵值;

3.基於PAI 機器學習平臺,搭建實驗模型,做資料預處理;

4.通過隨機森林演算法,訓練出預測模型;

5.基於訓練的模型,對產品慢SQL做治理,提升效能;

0?wx_fmt=png

最終基於純報表SQL的特徵分類模型的準確率維持在92.6%左右,混淆矩陣如下所示:

0?wx_fmt=jpeg

雙11實踐效果進展

在雙11的效能優化中進行慢SQL的智慧治理,取得的效果如下:

小於30分鐘查詢的數量從2.38%下降到 0.5% ,提升了 79% 的效能空間;大於30分鐘的慢SQL:從原有的4.9萬減少到400條左右,降低了99% ,大大降低了雙11慢SQL的執行效能成本。

寫在最後

今年是智慧化助力DT資料產品和系統的第1年, 通過智慧化技術助力雙11,我們在穩定性保障、效率提升、效能優化、使用者體驗提升方面 都取得了不錯的實戰效果:上百個資料產品系統,10W級業務場景,在雙11當天抗住了百萬級的QPS峰值請求,全天上百億次呼叫下絲般順滑、穩如泰山、全天0故障、監控發現線上問題10min之內的響應處理。 未來,我們將繼續加強大資料場景下智慧化的技術能力提升及輸出,通過智慧化繼續保障質量及穩定性、提升效率、體驗。

640?

你可能還喜歡

點選下方圖片即可閱讀

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=png

關注「阿里技術」

把握前沿技術脈搏