精准容量、秒级弹性,压测工具 + SAE 方案如何成功突破传统大促难关?
作者 | 代序 阿里云云原生技術團隊
本文整理自《Serverless 技術公開課》,“Serverless”公眾號后臺回復“入門”,即可獲取系列文章 PPT。
**導讀:**本次課程介紹在 SAE 場景下,如何借助壓測工具與 SAE 彈性能力來應對大促的實踐。主要包含 3 部分要點:傳統大促面臨的挑戰、SAE 大促方案以及快速壓測驗證。
傳統大促挑戰
一次常見的大促活動,技術人員通常會從下面幾個方面著手,進行準備工作:
- **架構梳理:**對參與大促的服務,進行系統性的架構梳理;
- **容量規劃:**結合架構梳理,確定系統 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
Serverless 公眾號,發布 Serverless 技術最新資訊,匯集 Serverless 技術最全內容,關注 Serverless 趨勢,更關注你落地實踐中的遇到的困惑和問題。
總結
以上是生活随笔為你收集整理的精准容量、秒级弹性,压测工具 + SAE 方案如何成功突破传统大促难关?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何提升微服务的幸福感?
- 下一篇: Fluid 0.3 新版本正式发布:实现