精準容量、秒級彈性,壓測工具 + SAE 方案如何完美突破傳統大促難關?

做者 | 代序 阿里云云原生技術團隊數據庫

本文整理自《Serverless 技術公開課》,「Serverless」公衆號後臺回覆「入門」,便可獲取系列文章 PPT。架構

導讀:本次課程介紹在 SAE 場景下,如何藉助壓測工具與 SAE 彈性能力來應對大促的實踐。主要包含 3 部分要點:傳統大促面臨的挑戰、SAE 大促方案以及快速壓測驗證。

傳統大促挑戰

圖片描述

一次常見的大促活動,技術人員一般會從下面幾個方面着手,進行準備工做:less

  • 架構梳理:對參與大促的服務,進行系統性的架構梳理;
  • 容量規劃:結合架構梳理,肯定系統 SLA 指標,造成容量模型,幫助業務進行評估;
  • 性能測試:核心系統的單機容量評估,與核心鏈路全鏈路壓測,能夠驗證容量模型,發現系統存在的問題;
  • 應用/數據庫優化:對發現的系統問題,譬如熱點、死鎖或慢 SQL 等,進行優化,確保系統能夠支撐大促;
  • 準備擴容方案:經過容量規劃與性能測試,能夠肯定一套知足活動需求的擴容方案,既保障業務,又下降成本;
  • 應急預案准備:當遇到突發狀況如何應對,譬如業務降級,砍掉非核心邏輯,或者限流降級,保障核心鏈路穩定;
  • 大促在線應急保障:專人專項,對問題進行響應,執行應急預案。

要完成上述準備工做,常常會遇到以下痛點:運維

  • 系統核心全鏈路,缺乏全局關係視角。須要花大量時間,整理依賴關係。
  • 鏈路上下游問題、定位問題比較耗時。壓測與在線應急保障過程當中,彙總鏈路上下游問題,定位問題比較耗時,缺乏快速定位分析工具。
  • 業務開發迭代快,須要常態化壓測支持。大量重複性人力投入,給你們形成很大負擔。
  • 預留資源成本高,須要頻繁擴縮容。須要產品化支持自動彈性伸縮,下降自建機房等高成本高閒置的固定投入。

SAE 大促解決方案

圖片描述

首先,SAE 是一款面向應用的 Serverless PaaS 平臺,在傳統 PaaS 功能以外,提供了完備的全鏈路監控、微服務管理等能力,並藉助 Serverless 能力,最大程度進行快速擴縮容、下降手工運維成本。 分佈式

圖片描述

SAE 提供的解決方案,將從三方面入手:微服務

  • 指標可視化:藉助應用監控 ARMS 提供豐富的 JVM、全鏈路 Tracing 、慢 SQL 等功能,便捷地評估水位、定位問題;
  • 應用高可用:藉助 AHAS 限流降級能力,流量激增時,保護核心服務,保障可用性不徹底跌 0;
  • 性能壓測:藉助壓測工具如 PTS,模擬單機壓測或全鏈路壓測,驗證容量規劃、發現應用問題。

快速壓測驗證

那麼如何經過 SAE ,進行一次快速的大促壓測驗證呢?下面將進行一次完整的展現:工具

第一步:觀察應用監控指標,大體擬定彈性/壓測/限流降級

圖片描述

經過觀察應用監控,對平常業務的監控指標,有一個大體的概念。以一個典型的電商類應用爲例。性能

從監控狀況看:測試

  • 該應用爲 HTTP 微服務應用;
  • 應用依賴大量 HTTP 微服務調用,少許使用 Redis / MySQL 服務,適合使用單機 + 分佈式壓測工具,分別進行壓測;
  • QPS 指標,相比 CPU、MEM 和 RT 指標,對業務更敏感,更適合做爲彈性策略指標。

第二步:選擇合適的壓測工具

圖片描述

根據業務訴求,能夠選擇快速使用的工具,或功能完整的壓測工具。優化

  • 譬如單機 HTTP 壓測工具 ab、wrk,能夠提供簡單快速的壓測方式,但只支持單機、不支持上下文。
  • 若是咱們須要支持 WebSocket 、常態化壓測,雲產品 PTS 能夠提供較爲完整的服務,相比自建成本更低。

第三步:配置 SAE 彈性伸縮策略 + AHAS 限流降級策略

圖片描述

無需精準設置,選擇一些合適的指標,配置 SAE 彈性伸縮策略,或額外配置 AHAS 限流策略 / ARMS 告警。

  • 對 API 類型,可經過對 API QPS、SQL QPS 等指標進行限流,保障超過系統水位的請求,快速 failover,下降對容量內業務的 SLA;並選擇應用監控指標 QPS、RT,配置彈性規則,讓系統進行彈性伸縮;
  • 對於計算型應用,則可選擇更敏感的指標,如 CPU、Memory 對應用進行擴縮容。

第四步:執行壓測 – 觀察結果 – 優化代碼 – 調整策略配置

圖片描述

1)根據壓測與監控結果,看是否有必要優化代碼,或調整 SAE 彈性伸縮策略、AHAS 限流策略。 2)執行壓測,查看壓測結果,發現存在失敗請求。 3)查看監控異常,發現存在 GC 異常。經過 SAE 控制檯,優化 JVM 參數解決。 4)再次壓測,驗證問題是否解決。 5)如此重複一兩輪,解決其中發現的主要問題,能夠更從容地面對大促。

詳細演示過程請點擊【視頻課連接】進行觀看。

課程推薦

爲了更多開發者可以享受到 Serverless 帶來的紅利,這一次,咱們集結了 10+ 位阿里巴巴 Serverless 領域技術專家,打造出最適合開發者入門的 Serverless 公開課,讓你即學即用,輕鬆擁抱雲計算的新範式——Serverless。

點擊便可免費觀看課程:https://developer.aliyun.com/learning/roadmap/serverless

相關文章
相關標籤/搜索