生產全鏈路壓測常態化方案
阿新 • • 發佈:2021-09-10
前言
前段時間有次大半夜熬夜寫方案,順帶整理了在上家公司做效能基線和常態化壓測的方案,僅供參考。
前置條件
全鏈路壓測已在生產環境落地!
流程機制
準備階段
一、測試環境
1、確認被測鏈路變更範圍
- 每次版本釋出或線上進行變更,都需要壓測,第一步首先確認本次被測鏈路的變更範圍,主要有如下幾點:
- 被測鏈路變更範圍涉及的業務場景;
- 被測鏈路對應的介面以及本次變更涉及的欄位——評估需要重新準備的壓測資料;
2、表結構同步&服務釋出
- 測試環境功能驗證通過後,表結構變更到壓測環境/預發環境/壓測環境;
- 如果有多套環境,建議選擇某個環境為基準環境,一切表結構變更從基準環境自動變更到其他測試環境;
- 被測鏈路對應的服務分支釋出;
3、指令碼除錯&資料準備
- 準備相關測試資料——最好能有自動化的資料準備機制,這樣能節省很多時間;
- 複用已有壓測指令碼,更新本次被測鏈路設計的介面及指令碼;
- 建議梳理出線上核心業務的P0-P2介面,提前準備指令碼,基本是個一次性的工作;
4、準備事項檢查確認
- 檢查測試資料準備情況,是否已完全準備好;
- 檢查測試指令碼除錯結果,是否已除錯通過;
- 建議:梳理一個checklist,形成一個長期的SOP機制;
5、壓測流量試跑驗證
- 在測試環境/壓測環境進行壓測驗證,確保相關變更和準備工作都已完成,避免遺漏;
二、生產環境
1、表結構同步&服務釋出
重複上述測試環境的步驟即可(形成機制,按照機制執行,分工明確);
2、指令碼除錯&資料準備
重複上述測試環境的步驟即可(形成機制,按照機制執行,分工明確);
3、準備事項檢查確認
執行checklist,確保沒有遺漏;
4、壓測流量試跑驗證
小範圍小流量壓測試跑驗證,檢查正確性;
實施階段
1、設定SLA閾值
壓測任務正式開始前,設定並檢查壓測的SLA閾值,確保壓測流量不會導致生產服務負載過高出現異常;
2、執行壓測任務
按照制定好的壓測任務,啟動執行壓測(可以設定為定時任務,避免通宵);
3、報告彙總&過程覆盤
- 收集壓測相關資料,輸出報告;
- review每次壓測任務過程中出現的問題和不足,跟進落地後續行動;
結束
1、改進措施&後續Action
確認後續Action的落地情況,不斷優化過程,形成線上效能基線機制,為容量規劃提供更好的決策;
轉載請註明出處,商用請徵得作者本人同意,謝謝!!!