線上業(yè)務壓測的核心要素
本文介紹線上業(yè)務壓測的核心要素、壓測環(huán)境和壓測基礎數(shù)據(jù)。
業(yè)務壓測的目標
要達成精準衡量業(yè)務承接能力的目標,業(yè)務壓測就需要做到5個一樣:
一樣的線上環(huán)境。
一樣的用戶規(guī)模。
一樣的業(yè)務場景。
一樣的業(yè)務量級。
一樣的流量來源。
做到5個“一樣”,讓系統(tǒng)提前進行“模擬考”,從而達到精準衡量業(yè)務模型實際處理能力的目標,便于相應的性能提升、限流降級方案準備等配套工作。
業(yè)務壓測的核心要素
業(yè)務壓測需要有以下五大核心要素:
壓測環(huán)境。
壓測基礎數(shù)據(jù)。
壓測流量(模型、數(shù)據(jù))。
流量發(fā)起、掌控。
問題定位。
壓測流量(模型、數(shù)據(jù))是可以通過PTS的超低門檻、高效交互來編排的,具體操作,請參見創(chuàng)建PTS場景。
流量發(fā)起可以借助于PTS業(yè)界領先的壓力構建設置能力和實時調(diào)速的能力,為您提供足夠的操作空間,具體操作,請參見壓力模式與量級配置和調(diào)速。
問題定位上PTS集成了ARMS監(jiān)控方便進行端到端的全監(jiān)控和問題排查。
壓測環(huán)境和壓測基礎數(shù)據(jù)
全新生產(chǎn)環(huán)境
如果是剛遷移到云上或者是新的機房,全鏈路的進行業(yè)務壓力測試之后可以正式投產(chǎn)的,這種驗證效果較好,因為最終就是真實的性能環(huán)境,一般可以將真實的生產(chǎn)環(huán)境數(shù)據(jù)進行脫敏導入,確保業(yè)務數(shù)據(jù)量(交易數(shù)據(jù)、流水、各種業(yè)務核心業(yè)務記錄等)維持在半年以上,同時確保數(shù)據(jù)的關聯(lián)完整性(包括跨系統(tǒng)的業(yè)務完整性數(shù)據(jù)),壓測基于這些基礎數(shù)據(jù)進行相應的核心業(yè)務的流量(登錄、購物車行為、交易行為等)構建,最后在投產(chǎn)前做相應的數(shù)據(jù)清理再初始化一次存量基礎數(shù)據(jù)。
等比性能環(huán)境
一般是指在生產(chǎn)環(huán)境單獨劃分區(qū)域,準備等比的容量,共享接入層的性能測試環(huán)境。這種方案缺點是成本較高,優(yōu)點是方案簡單、風險可控,容量規(guī)劃較為精準。
說明必須保證有共享的接入層(CDN動態(tài)加速、BGP、WAF、SLB、4層7層負載均衡等等,確保最重要的網(wǎng)絡接入層相同,能發(fā)現(xiàn)問題)。
后端的服務容量配比上至少保證是生產(chǎn)環(huán)境的1/4,因為與生產(chǎn)環(huán)境服務容量越接近,精準度越高,所以數(shù)據(jù)庫建議能相同配置。
在基礎數(shù)據(jù)的準備上和上面全新生產(chǎn)環(huán)境的方法一致。
生產(chǎn)環(huán)境
生產(chǎn)環(huán)境上基礎數(shù)據(jù)基本分為兩種方式,一種是數(shù)據(jù)庫層面不需要做改造,直接基于基礎表里的測試賬戶(相關的數(shù)據(jù)完整性也要具備)進行,壓測之后將相關的測試產(chǎn)生的流水數(shù)據(jù)清除(清除的方式可以固化SQL腳本或者落在系統(tǒng)上);另一種就是壓測流量單獨打標(如單獨定義的Header),然后業(yè)務處理過程中識別這個標并傳遞下去,包括異步消息和中間件,最終落到數(shù)據(jù)庫的影子表或者影子庫中。此外,生產(chǎn)環(huán)境的壓測盡量在業(yè)務低峰期進行從而避免影響生產(chǎn)的業(yè)務,無論上述哪種方式都可以通過部署單獨的壓測專用集群來進一步避免對生產(chǎn)業(yè)務的影響。
關于業(yè)務的擋板
一般生產(chǎn)環(huán)境的業(yè)務壓測還會涉及到和第三方的交互,如短信、支付和渠道對接等等。 最后,關于方案的選擇請結合實際的情況如人力資源、機器資源、時間成本、業(yè)務復雜度、業(yè)務要求和后續(xù)的維護成本綜合考慮最適合自身的方案。