在剛結束的2023年雙11中,阿里巴巴再一次更新了記錄:每秒32.5w筆的交易建立峰值、25.6w筆的支付峰值。就是這樣乙個由上千個不同業務系統和技術元件構建的業務站點,在如此巨大的洪峰流量衝擊之下,依舊穩如磐石,創造了乙個使用者體驗絲般順滑的雙11購物狂歡節。這是乙個網際網路技術上的奇蹟,堪稱世界級的超級工程,而大促準備階段的「全鏈路壓測」就是奇蹟背後的秘密。
眾所周知,阿里巴巴有著非常豐富的業務形態,每一種業務形態背後都由一系列分布式的技術體系提供服務,隨著業務的快速發展,特別是在雙11等大促營銷等活動場景下,準確評估整個業務站點的服務能力成為一大技術難題。
早在2023年阿里就開始嘗試直接在生產環境進行單系統壓力測試,獲取單系統服務能力來進行容量規劃。生產環境單系統壓力測試相對於傳統的效能測試雖然在結果準確性上有很大提公升,卻依舊存在侷限性,打個比方,經過生產環境單系統壓力測試的站點就好比生產一輛跑車:每乙個零件都經過了嚴密的測試,最終把零件組裝成跑車,由於跑車沒有經過整體測試驗證,直接開上路隨時面臨拋錨風險。
全鏈路壓測的誕生徹底解決了上述難題,通過對整個站點進行全方位的真實業務場景模擬,確保各個環節的效能、容量和穩定性均做到萬無一失。雙11買買買的場景對使用者來說每年就是雙11當天一次,而阿里的業務系統在此之前提前模擬經歷了好幾次。到了雙11當天,系統僅僅只是再經歷一次已經被反覆驗證過的場景,再考一遍做「做過的考題」,不出問題也都在意料之中。
全鏈路壓測具備三大核心技術:
1、直接在生產環境進行全業務的壓力測試;
2、壓測場景貼近真實業務場景;
3、雙11峰值使用者請求構造能力的壓測平台。
在生產環境直接進行壓力測試的最大挑戰在於,確保壓測請求不對正常業務造成汙染和干擾。資料隔離是解決這個問題的最佳手段,對資料進行物理或者邏輯的隔離,壓測資料被儲存到特定的影子區域。所有壓測請求的入口帶上特定標記,在分布式呼叫環節,壓測標記隨著分布式呼叫通訊協議一直往下傳遞,追溯到呼叫鏈路的完整生命週期,最終通過資料過濾器將壓測請求的資料自動路由到影子區域。這一整套資料隔離機制完全通過中介軟體元件完成,確保對業務系統零侵入。
2023年雙11籌備階段,全鏈路壓測「尖兵計畫」對整個壓測技術能力進行了一輪公升級,結合自動化、智慧型化技術,提公升壓測結果的確定性同時,大幅縮減整個壓測過程的成本投入。全鏈路壓測將大促備戰的各個環節層層打通,從業務因子埋點、監控體系、模型**、壓測資料構造、壓測流量傳送、彈性容量伸縮和壓測結果分析等環節進行自動化串聯,大幅縮減壓測人員投入和時間週期,往年需要8次全鏈路壓測才能讓系統處於就緒狀態,今年3次就完成目標。
全鏈路壓測被譽為大促備戰核**,自誕生以來每年發現數百個潛在系統問題,為大促穩定性保障帶來了立竿見影的效果,不僅提公升了站點穩定性,還大幅縮減了在容量規劃上的人力投入。全鏈路壓測作為大促備戰的核心基礎設施,正逐步深入到整個雙11技術超級工程的穩定性保障體系,打通建站、容量、監控和業務驗證等諸多環節,結合自動化和智慧型化技術將整個大促備戰能力提公升到乙個新台階。
2023年7月,源於阿里集團內部的全鏈路壓測平台已通過阿里雲完成商業化輸出,與原有效能壓測產品pts進行融合,形成pts鉑金版。任何對業務壓力測試有需求的客戶即可借助pts壓測平台輕鬆完成一次站點效能和容量測試,同時還可以申請「壓測專家服務」實施整套全鏈路壓測流程,享受阿里雙11穩定性保障級的高可用服務。
正是基於阿里巴巴在基礎設施領域,特別是大規模高可用網際網路平台上多年的技術積累,越來越多像全鏈路壓測(pts)、分布式資料庫服務(drds)和企業級分布式應用服務(edas)等技術能力通過雲化對外服務,幫助傳統企業獲得大規模高可用的網際網路技術能力,從容應對瞬息萬變的市場和業務需求,提高業務效能,讓更加便捷使用的基礎設施能力成為隨處可用、人人可用的社會公共資源,普惠世界。
全鏈路壓測
2013年為了雙11提前預演而誕生,該服務已提供在阿里雲pts鉑金版。1.1.1 系統可用性問題 經常由下面一些不確定性因素引起 1.1.2 傳統線上單機與單系統壓測的四種方式 從流量分配的角度,將流量集中到某台機器 這兩種方式要求訪問流量不能太小 1.1.3 單系統壓測的問題單鏈路指乙個業務線。全...
全鏈路壓測
之前有和認識的同行聊過他們全鏈路壓測的一些技術實現方案,自己也看了很多相關的資料,這篇部落格,說說自己對全鏈路壓測的理解,以及整理的一些知識點。阿里全鏈路壓測 有讚全鏈路壓測 京東全鏈路壓測 餓了麼全鏈路壓測 一 什麼是全鏈路壓測 基於實際的生產業務場景 系統環境,模擬海量的使用者請求和資料對整個業...
全鏈路壓測筆記
公司業務發展,難有乙個量化的資料衡量核心鏈路的真實峰值。有助於提公升核心業務的穩定性。找出整個鏈路的瓶頸,優化少量的瓶頸部分提公升整體效能,以期達到用最少的資源達到最佳效果。認識誤區 不能單純認為壓測各個子系統後,整體系統沒有問題,因為涉及到業務訪問鏈路,多個業務可能有共用資源的瓶頸,主鏈路請求量增...