一、常態化壓測介紹
1.什么是常態化壓測
常態是指:“正常的狀態”;“化”在這里是表示轉變為某種性質或狀態,
“常態化”的含義就是:趨向正常的狀態,
那么常態化壓測顧名思義就可以解釋為,讓壓測趨于正常的狀態,趨于合理;因此通過調研給了如下定義:常態化壓測是指在某個產品或系統上進行自定義周期(常態化)的、系統自動執行的、可驗證結果的壓測程序,目的是檢測產品或系統的穩定性、可靠性和性能,確保它們能夠在不同的場景下正常運行,
2.為什么要進行常態化壓測
隨著業務的不斷增長,支撐業務系統的壓力也逐漸增加,會面臨如系統越來越厚重、邏輯越來復雜、迭代節奏越來越快等繁雜的情況,我們當前并沒有做到在每次變化時快速識別出性能風險,檢測產品或系統的穩定性、可靠性,而且我們還在不斷的投入人力成本在壓測這件事情上也是不合理的,所以我們要將性能驗證融入到我們日常的作業中,把壓測做到常態化,做成平常的一件事,
3.常態化壓測的價值
- 快進快出,最小單位安排壓測任務,減少人員投入
- 盡早識別性能波動,避免風險后置
- 可復用性高,壓測模型、業務模型可復用
- 業務可用性保障
二、常態化壓測實踐
1.常態化壓測流程介紹
借助泰山平臺中的Forcebot工具,進行常態化壓測執行,設定常態化壓測任務,配置壓測執行計劃,按照預設的資料模型、基線值等進行執行,在累積一段時間的壓測結果后,可以對基線值、壓測目標進行調整和調優,然后繼續進行自動化周期性的壓測,同時跟進結果,及時關注最近業務和系統的變化,
- 明確壓測目標
明確常態化壓測的目標,可以區分日常和極限兩個場景,根據不同的場景設定不同的壓測目標,第一次實踐以單介面的日常流量為主,觀測日常流量下的性能波動,確定正常范圍值,
- 常態化計劃
根據介面的優先級,介面服務的流量,日常迭代代碼改動的頻率,設定對應的計劃,核心介面、流量較大、代碼改動頻繁的介面,常態化壓測的周期建議短一些,可以一周1-2次,且放在每次上線后進行;如果是非核心、流量小的介面,可以每周或每雙周進行一次,
- 壓測前期準備
確定測驗場景根據實際場景,設計壓測場景,包括用戶數量、請求型別、請求頻率、請求引數等,以盡可能模擬真實的業務場景,撰寫壓測腳本,設定按照真實請求資料比例設定引數化,以便于進行自動化測驗,
- 壓測中期關注
在壓測程序中,主要是無人值守的狀態,所以需要提前識別壓測可能帶來的風險,以及面對不同的風險需要采取的措施,
同時還要關注壓測程序中如果出現性能波動,系統發出的預警方式是否及時、預警內容是否準確,
- 壓測后期跟進
每次常態化壓測計劃執行后,都需要關注本次的結果:① 結果符合預期,則要關注下指標的波動; ② 若結果并不符合預期,則要刨根問底,找到問題的所在; ③ 跟進問題直到解決,解決后重新驗證,
- 輔助功能-流量染色
流量染色指根據流量協議,設定對應的流量染色規則,對指定的流量進行染色標記,并在整個呼叫鏈中攜帶該標記,
通過流量染色,可以實作壓測流量隔離,同時可以保證日常壓測對生產流量無影響,但是對于常態化壓測來講,流量染色并非必須,而是錦上添花的功能,可以進一步保證我們的流量對生產無影響,
2.首次進行常態化壓測實踐
2.1 準備階段
① 獲取基線值資料
② 壓測腳本、場景、資料模型準備
③ 壓測環境準備
④ 壓測計劃制定
2.2 執行階段
2.3 調優階段
以7-10天為一個周期,記錄資料,不考慮特殊節日、特殊活動的場景,驗證基線資料的可信賴性,如發現高于30%的概率,每天的資料都不符合基線值,可調整基線值的浮動范圍,以保結證結果在日常值的范圍內,
調優的程序也要關注,在資料統計程序中代碼的改動,如果確定是代碼的改動影響了整體的性能,這就要根據實際的場景和影響范圍進行評估,
2.4 復盤階段
經過一段時間的常態化壓測,需要對整個流程和結果進行復盤,好的復盤結果能夠幫助我們避免后續的一些“坑”,參與常態化壓測的所有人員一起,主要關注一下幾個方面:
① 資料是否正確,是否達標,是否可信賴
② 常態化壓測流程、計劃相關問題
③ 壓測程序中的性能問題總結
三、常態化壓測總結
① 建議覆寫場景 可以根據自己所負責的業務進行考量,如果不會出現很大流量的情況下,建議覆寫日常場景即可滿足需求;如果需要考慮大流量并發的場景,建議覆寫日常的基礎上,在覆寫極限的場景,
② 關注風險控制 常態化壓測要做到的是模擬生產真實場景,實作日常自動化壓測,盡量做到無人值守,所以提前識別出可能的風險是非常必要的,同時要列出不同的風險項對應的舉措,
③ 常態化壓測只是輔助驗證業務性能的一種手段 不是說我們進行常態化壓測之后就不需要進行性能測驗了,兩者之間是沒有沖突的,
寄語:每個人負責的作業是不同的,不同人會有不同訴求,對同一件事也會有不同看法,不過蘇軾有句話:“犯其至難而圖其至遠”,意思是說“向最難之處攻堅,追求最遠大的目標”,只希望我們能在作業中克服各種困難,去實作最長遠的、可持續的目標,
作者:京東物流 馮海艷
來源:京東云開發者社區 自猿其說Tech
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/556930.html
標籤:其他
下一篇:返回列表
