【摘要】 本文提出了一種基于性能測試的性能建模技術,該技術在性能測試和調優的基礎上,利用性能測試的結果,以及回歸分析等數學理論建立性能模型,通過該模型預測生產系統的性能的性能表現評估、系統宕機風險分析和容量規劃等方面的應用。
【關鍵詞】 性能建模 性能測試 容量規劃 TPS
一、性能建模概述
本方法是基于現有測試環境和生產環境,以性能測試結果數據和生產環境信息為輸入,利用科學、合理的性能測試理論和數學模型,建立的一套綜合算法;利用該算法進行生產環境的性能表現評估、生產系統性能瓶頸評估和生產系統容量規劃評估,進而輔助管理人員做出對軟件系統的改進、升級和優化的決策。
1.1 單交易資源開銷
通過對性能測試結果數據的分析,計算各交易資源開銷:
(1)對每筆交易最大容量點前的TPS和CPU指標建立一元線性模型
(2)設定
因變量(y):CPU利用率
自變量(x):單業務的TPS
建立一元線性回歸模型:y=bx+a
對于容量點前的n組數據(x1,y1),(x2,y2),…(xn,yn)建立線性方程組:
y
=bx
+a
y
=bx
+a
…
y=bx
+a
利用最小二乘法得到線性方程組:
其中b為單交易資源開銷。
輸入:單筆業務TPS和CPU利用率
輸出:單業務每筆交易CPU開銷
1.2 綜合交易資源開銷
過程如下:
(1)通過下表的數據計算得到綜合業務下每筆交易資源開銷的計算值:
CPU綜合每筆交易開銷計算值=xq
(2)執行綜合交易業務測試得到CPU綜合每筆交易開銷測試值;
(3)計算綜合交易測試值與計算值的擬合因子:
ρ=
(4)用單交易資源開銷乘以ρ可得出綜合場景各業務每筆交易CPU開銷。
輸入:單交易資源開銷、綜合業務測試TPS和CPU利用率;輸出:綜合場景各業務每筆交易CPU開銷
1.3 測試環境推導生產環境
根據生產系統業務數據和性能數據,計算每筆交易資源開銷,通過計算二者之間的差異系數,將測試得到的各業務資源開銷推導到生產環境中:
γ=
然后擬合不同TPS下測試環境和生產環境CPU開銷,得到測試環境到生產環境的差異系數。
輸入:測試環境硬件配置、生產環境硬件配置、生產環境數據;輸出:生產環境每筆交易資源開銷
二、性能模型應用
2.1 生產系統性能預測
生產系統性能進行預測:(1)生產系統可支撐的最大TPS:根據系統的硬件配置,以及單位處理能力所消耗的資源消耗,可得出在硬件不超過閥值線時可以支撐的最大TPS;(2)預測系統的性能表現:可得到系統的處理能力TPS與資源的變化曲線,以及該硬件條件下,還可支撐多少TPS,存在多少冗余。(3)業務突變情況下預測系統的性能表現:因市場部門會不間斷的進行業務的促銷,導致某些業務的辦理量會不定期的增長,在這樣的情況下,我們可預測在不同的業務模型,系統的性能表現。
2.2 生產系統宕機風險預測
預測內容包括:(1)預測生產系統的性能瓶頸:根據木桶原則,可評估服務器的資源消耗最多從而成為系統的性能瓶頸;可根據性能優化或調整硬件配置等措施解決系統潛在的性能瓶頸等問題。(2)生產系統宕機風險預測:可預測在宕機某臺服務器后,對系統整體處理能力的影響。
2.3 生產系統容量規劃
利用性能建模技術可以實現對系統容量進行評估,有效支撐系統的容量規劃。首先獲取業務量的歷史值,預測業務量的發展趨勢;其次,根據單位處理能力所消耗的資源開銷,評估在CPU不超過閥值的情況下,應該如何分配各類服務器的硬件資源。
三、結束語
性能建模技術是在性能測試的基礎上,進行性能建模,通過模型預測系統的性能表現和宕機風險,其中最重要的是對系統的容量規劃進行量化評估,對系統資源配置提供合理建議,減少額外的硬件投入風險。
參 考 文 獻
[1] 馬琳,羅鐵堅,宋進亮,葉世偉. Web 性能測試與預測[J]. 中國科學院研究生院學報,2005,22(4):472-479
[2] 柳純錄,黃子河,陳淥萍. 軟件評測師教程[M]. 北京:清華大學出版社,2005.3
[3] 段念,軟件性能測試過程詳解與案例剖析[M]. 北京:清華大學出版社,2012