性能測驗流程
- 性能測驗的作業三大部分
- 性能測驗執行階段
- 測驗的主要策略
- 總結階段:
性能測驗的作業三大部分
性能需求調研:
客戶能接受的回應時間,每日單交易處理能力,系統資源利用率,系統環境搭建方式、并發用戶數、日交易數量等,
確定業務模型:
根據需求調研,分析哪些交易是每日需要處理使用的功能,哪些交易是月底或者年底需要批量處理,來劃分測驗交易的等級,
確定測驗方案:
測驗方案的目的是確定此次系統測驗的目的,定義一個性能測驗的入口準則,出口準則,并確定測驗的交易業務模型、業務指標、測驗模型、測驗指標,以及發起測驗的測驗策略、執行策略、監控分析策略、以及測驗內容、測驗環境、工具、資料、腳本的準備、測驗風險策略等,
確定測驗計劃:
制定測驗計劃的目的是為了約束測驗各個活動的起止時間,為性能測驗的準備、執行、分析與報告、總結等環節給出合理時間估算,
建立測驗環境:
建立測驗環境主要是在需求調研后根據實際上線系統環境的網路拓撲結構搭建模擬測驗環境,準備測驗資料等,
準備測驗工具、腳本及測驗資料:
根據分析系統架構模式對自動化測驗工具選型、對腳本的錄制除錯以及測驗系統存量資料的準備,
準備測驗監控工具:
在性能測驗的開始前,需要配置完成監控工具,用于監控每個虛擬用戶的狀態,及時采集交易的回應時間、吞吐量,以及各主機的CPU、I/O和記憶體等硬體資源利用率資訊,
| 類別 | 監控指標 | 說明 |
|---|---|---|
| 業務交易類指標 | 交易平均回應時間 | 利用性能測驗工具,對各個交易的指標進行分別監控,并記錄結果,各交易成功率通過查詢后臺資料庫或交易日志的方式獲得 |
| 交易吞吐量(TPS) | ||
| 各交易的成功率 | ||
| 系統資源類指標 | 主機CPU:CPU利用率、佇列長度 | 利用LoadRunner或者Spotlight、Glance、nmon、MyAME、Sar、Top等監控工具對每臺主機進行監控, |
| 主機記憶體:記憶體占用率、Page in/sec、Page out/Sec、Swap in/sec、Swap out/sec | ||
| 主機I/O:Disk等待佇列長度、磁盤忙閑率、磁盤空間使用率 |
測驗環境預熱:
環境預熱就是在環境搭建完成后錄制除錯完腳本對錄制好的腳本都執行一次,因為一些程式在服務器重啟時期需要編譯,
各個服務器引數化調整:
環境搭建好后根據硬體配置,軟體配置對系統各個環境進行系統引數調整、WEB服務器引數調整、應用服務器引數調整、資料庫服務器引數調整,并將調整好的引數進行備份,
(此處加入各環節引數配置建議值,并以此建立環境引數基線)
性能測驗執行階段
執行測驗:
執行測驗包括以下六個部分:單交易基準測驗、單交易負載測驗、混合場景測驗、穩定性測驗、例外測驗、極限測驗,
單交易基準測驗(性能期望值)
測驗原理:在測驗環境經過確認,腳本預驗證之后,針對每支選定的交易或操作,在系統無壓力的情況下,單交易用戶迭代若干次,獲取每個交易或操作的平均回應時間,以此作為多用戶并發測驗的基準和參考,
測驗方法:使用性能測驗工具LR/Jmeter模擬客戶端向目標系統發送交易請求,在系統無壓力的情況下重復50-100次(或10分鐘),每次迭代間等待1秒,獲取交易的平均回應時間、TPS、點擊率作為衡量指標,
單交易負載測驗(高于期望,系統資源處于臨界點)
測驗原理:在完成單交易基準測驗后,針對測驗模型中的每一支交易或每一個操作,采用多個(5-10,是具體情況而定)虛擬用戶數進行負載測驗,獲取業務處理性能和系統資源利用率等資料,并驗證交易是否存在并發性問題,
測驗方法:實用LR/Jmeter模擬客戶端向目標用戶發送業務請求,并接受回傳結果的腳本,采用梯度發送的方式逐步增加系統請求的壓力,每個梯度測驗持續運行10-15分鐘并記錄測驗相關資料,獲取該交易最大處理能力,同時進行資源監控,問題定位測驗結果分析,
混合場景:
測驗原理:在既定的測驗模型下,在給定的測驗限制條件下,通過在被測驗系統上逐步增加的并發用戶數,梯度增加壓力,獲得系統回應時間、吞吐量、CPU和記憶體的使用等性能資料,確定在各種作業負載下系統的性能指標,直到突破限定條件,獲取在不同壓力下的性能表現,以及交易的TPS、回應時間、系統資源利用率等指標資料,經過測驗分析獲取應用系統在該測驗環境下的最大處理能力,
測驗方法:根據測驗模型中的交易比例構成測驗場景,使用LR/Jmeter模擬客戶端向目標系統發起交易請求,按照并發梯度的方法,逐步提升并發用戶數的壓力,每組梯隊運行15-20分鐘,觀察并收集應用系統的CPU、記憶體、磁盤的占用情況、交易回應情況、交易成功率等指標,直到系統出現容量拐點或瓶頸后結束測驗,
穩定性測驗(超過負載,系統崩潰)
測驗原理:根據混合場景負載測驗結果,采用系統容量峰值的60%-80%的壓力負載,穩定運行8-12小時,檢驗應用系統在測驗環境下的穩定運行能力,獲取系統長時間運行的穩定性指標,根據應用系統的操作習慣或業務處理規律,必要時采用變化的交易壓力的方式,進行穩定性測驗,主要方式是隨機和定時的變更交易壓力,有益于根據業務運行規律模擬真實狀況下的系統運行狀況,
測驗方法:根據單交易場景負載測驗結果,結合生產實際業務量的統計,推算負載測驗模型系統峰值的壓力60-80%的并發壓力,使用LR/Jmeter連續發起并發壓力8-12小時,主要監控系統的CPU、記憶體、磁盤的占用情況和交易回應情況,主要是檢查記憶體泄漏、網路處理能力、負載均衡等問題,檢驗系統在持續壓力狀況下的穩定運行能力,
例外測驗:
測驗原理:在單節點故障或者網路故障等問題發生時,系統的處理能力,資料的完整性
測驗方法: 通過一定方法(如斷開網線,停掉服務器)模擬服務中斷、網路終端、硬體故障等例外情況,測驗故障發生時對在線交易的影響,
極限測驗(壓力測驗:高于期望,拐點)
測驗原理:分為單交易極限負載測驗和混合場景極限負載測驗兩類,在一定的測驗環境中,獲取單交易或混合場景在極限或苛刻的環境中系統的性能表現,關注系統在超越極限后的表現,測驗程序中,不必嚴格按照梯度增加的方法,應用系統運行可以據此設定預案,軟體開發可以按照此優化設計,
測驗方法:上述兩類測驗方法基本相同,只是執行策略和測驗目的略有不同,根據測驗模型中的交易比例構建測驗場景,即混合負載測驗場景,使用LR/Jmeter模擬客戶端向目標系統發起交易請求,以混合負載容器值所處的并發用戶數為起點,較大幅度提升并發用戶數壓力,觀察應用系統的CPU、記憶體、磁盤的占用情況,交易回應情況,交易成功率等指標,嘗試找出使用上述指標出現例外的梯度,并運行15-30分鐘,監控系統的性能表現,
測驗的主要策略
測驗模型的維護策略
測驗模型由業務模型而來,是全部測驗活動的邏輯基礎,貫穿整個測驗程序,務必保持模型相對穩定和交易配比的準確,對于測驗模型的定義要關注TPS/HPS的區分,務必于應用系統用戶關注目標統一,對于測驗模型中的配比關系,首先源于生產的統計分析,務必重視統計口徑和粒度;其次源于經驗判斷分析,必須遵循一般交易習慣和操作規律,
梯度并發的策略
在混合負載測驗中,以預設的測驗模型逐步增加并發用戶數量,獲得TPS等性能容量指標,對于獲取最大并發用戶數或接入能力的測驗,以TPS/HPS為變化梯度,
極限/壓力策略
在混合負載測驗中,必須找出系統“瓶頸”和處理能力的“拐點”,可能情形:測驗環境資源類某項性能指標達到了閥值,例如CPU,I/O,Memory等;應用系統某項設定的指標達到臨界值,例如佇列深度、并發行程數量等;交易或操作定義的限制條件,例如回應時間、交易處理成功率等,
冗余策略
在混合負載測驗中,梯度增加是個不斷嘗試,反復調整的程序,即便找到了所謂的“拐點”或“瓶頸”,也須向前繼續測驗2-3個梯度,查看應用系統能夠的性能表現,
“拐點”或“瓶頸”的判定策略
對于應用系統的性能容量,通常有3個限定條件:環境資源類,交易業務類,應用系統類,其應用策略如下:
環境資源類:例如I/O低于80%,如果超過此指標,或是核查原因或是中止測驗,
交易業務類:除了受用戶體驗約束外,更多來源于經驗判斷,存在較大彈性誤差,例如查詢交易相應時間3s,5s,8s技術誤差和感受誤差都需要考慮,
應用系統類:應用系統類條件既包括應用系統本身,也包括OS(作業系統),DB(資料庫)、中間件等,可以隨時調配或優化,
綜合系統性能測驗指標
| 類別 | 指標項 | 指標量值 |
|---|---|---|
| 系統處理能力 | TPS | 10-100 |
| 系統回應時間 | S | 3,5,8 |
| 穩定性 | 100TPS下穩定運行時長 | 10小時 |
| 失敗率 | 交易失敗率 | <5% |
| CPU | 各類系統主機CPU資源 | <80% |
| 記憶體 | 各類系統主機記憶體占用 | <80% |
| 磁盤 | 各類系統主機磁盤占用 | <80% |
執行測驗時,并發用戶采取從小到大逐漸遞增的方式,給系統施加壓力,觀察系統的吞吐量和交易回應時間隨并發用戶數和交易數增加的變化,如下圖所示,

性能測驗發起時,按照業務模型,通過LoadRunner壓力測驗軟體,使用不同并發用戶數,梯度發送交易請求壓力,每次測驗持續運行一定時間并記錄測驗相關性能資料,獲取系統處理能力變化值,形成處理能力梯度變化曲線,
總結階段:
測驗結果記錄和分析:
1)業務處理能力
2)交易回應時間
3)系統資源監控情況
4)瓶頸和拐點分析
測驗結論
在測驗環境下,根據回應時間、成功率、資源使用的各項指標等綜合分析,得出目前系統的性能情況,并對仍然存在的性能問題進行說明,對可能存在的風險進行分析,并提出改善性能意見、規避風險策略,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/377055.html
標籤:其他
上一篇:批量收集照片并按規則命名
