1性能及性能測試概念
1.1概述
1) 性能:系統的性能測試是一個很大的概念,覆蓋範圍非常廣。
2) 軟件系統性能:包括:執行效率、資源佔用、系統穩定性、安全性、兼容性、可靠性、可擴展性等。
3) 性能測試:是爲描述測試對象與性能相關的特徵並對其進行評價而實施的一類測試,主要通過自動化的測試工具模擬多種正常、峯值以及異常負載條件來對系統的各項性能指標進行測試。
4) 通常把性能測試、負載測試、壓力測試總稱爲性能測試。
1.2性能測試
如果把軟件系統看做一個“孩子”,那麼開發羣體就是“父母”,每個“父母”都希望孩子既“聰明”、“漂亮”又“健康”。
1)聰明:體現在,系統的性能表現良好,系統響應速度準確、快速;
2)漂亮:系統體現爲功能強大,易用性、兼容性等方面突出;
3)健康:體現在,系統能夠持續、穩定運行;
1.3方式對比
1)人工
(1)人力、物力和時間嚴重損失。
(2)手工操作的延遲問題。
2)工具:loadrunner等工具
(1)一臺機器可以模擬成千上萬的虛擬用戶(前提滿足協議即可)。
(2)設置不同操作場景,模擬更加真實。
(3)強大的結果分析能力。
1.4性能指標
1) 吞吐量(throughput):指單位時間內處理的客戶端請求數量。直接體現軟件系統的性能承載能力。
2) 併發數量(concurrency):多個同事併發的業務操作。如:100個用戶談事點擊登錄界面的“登錄”按鈕操作。
3) 思考時間(think time):錄製腳本過程中,每個請求之間的時間間隔,即操作過程中停頓的時間。
4) 響應時間:指用戶從客戶端發起一個請求開始,到客戶端接受到服務器端返回結果的響應結束,結果信息展現在客戶端整個過程所耗費的時間。
5) 點擊數:它是統計根據客戶端向Web服務器發了多少次HTTP請求計算的。
6) 性能計數器(counter):是描述相關服務器、操作系統、中間件等性能的一些數據指標。如:Windows系統的內存數(memory inusage)、進程時間(total processtime)都是常見的計數器。
7) 資源利用率:資源利用率通常是指系統各種資源的使用情況,一般用“資源使用量”/“總的資源可用量”× 100%。
8) 網絡吞吐量:指在網絡工作正常的情況下,單位時間內通過的數據數量。該指標用於衡量系統對於網絡設備或鏈路傳輸能力的需求。
9) 錯誤率:指系統在負載的情況下,失敗交易的概率。錯誤率= 失敗交易次數/交易總數×100%。
10) 系統穩定性:用戶提出的重要指標,如:穩定運行時間7*24等。
1.5性能測試過程
1)性能測試過程包括分析、執行、總結三個部分,具體可拆分如圖所示:
圖1-1
2Loadrunner簡介
loadrunner是一款性能測試軟件,通過模擬真實的用戶行爲,通過負載、併發和性能實時監控以及完成後的測試報告,分析系統可能存在的瓶頸,loadrunner最爲有效的手段之一應該就是併發控制,通過在控制檯的設置,已達到用同一個業務同事模擬成千上萬的用戶進行操作。它最初是Mercury公司產品(2006年之前),之後被HP收購。
Loadrunner最新版爲12
2.1組成
實際運用過程中Vugen、Controller、Analysis相互關聯相互影響,分析三者之間的關係,如圖所示
圖2-1
2.2三大功能
1)VuGen(Virtual UserGenerator)虛擬用戶生成器
用於捕獲最終用戶業務流程和創建自動性能測試腳本 (也稱爲虛擬用戶腳本)。
2)Controller (控制器)
用於組織、驅動、管理和監控負載測試。
3) Analysis (分析器)
統計運行後數據,查看、分析和比較性能結果。
2.3Vugen功能
最主要的功能就是用於創建虛擬用戶,從而模擬現實生活中的人,它不僅可以錄製腳本,還可以運行和調試腳本。
1.錄製原理:VuGen在錄製過程中會錄製客戶端和服務器之間的相關交互活動,自動生成模擬真實情況的API函數。
2.錄製過程:
(1)選擇協議:支持單協議、多協議
(2)系統架構:C/S架構、B/S架構
(3)查看模式:腳本模式、樹形模式
(4)迭代次數:
vuser_init:中的腳本只執行一次
Action :中的腳本執行多次
vuser_end:只執行一次
3.腳本回放:
(1)運行時設置【Run-time Setings】
(2)Run(F5)或逐步執行【Step by Step】(F10)
(3)【Tools-Recording Options 】 錄製選項
4.腳本優化:
(1)插入事務:開始和結束事務(必須成對出現)
(2)插入集合點:對系統壓力較大
(3)參數化:模擬真實用戶名、密碼
(4)設置檢查點:支持文本和圖片
(5)思考時間:停留時間
5.腳本調試:
(1)斷點
(2)單步跟蹤
(3)日誌輸出
(4)腳本編譯
(5)註釋
2.4controller功能
controller用來管理和維護場景,可以在一臺工作站控制一個場景中的所有虛擬用戶。
1.手動場景:手動場景設置可以設置不同的業務組用戶數量,編輯計劃制定相關的運行時刻、虛擬用戶加載策略等。
參數:
(1)用戶總數
(2)持續時間
(3)增長比例
2.5場景
1)目標場景:面向目標的場景中,可以定義要實現的測試目標,loadrunner會根據這些目標自動構建場景。
目標類型:
(1)虛擬用戶數
(2)每秒單機次數
(3)每秒事務數
(4)每分鐘頁面數
(5)事務響應時間
2)場景執行完後需要對運行過程中收集到的數據進行解析,analysis應用提供了豐富的表格信息,可以幫助用戶準確的確定系統的性能,並提供事務及Vuser相關信息。
(1)豐富的圖標
(2)各種角度分析
(3)比較兩者的結果差異
(4)報告導出功能支持多種格式
2.6Analysis 功能
1)場景執行完後需要對運行過程中收集到的數據進行解析,analysis應用提供了豐富的表格信息,可以幫助用戶準確的確定系統的性能,並提供事務及Vuser相關信息。
(1)豐富的圖標
(2)各種角度分析
(3)比較兩者的結果差異
(4)報告導出功能支持多種格式
3.Loadrunner實戰
3.1實例說明
1)系統:華安雲報警系統
2)架構:B/S
3)場景:登錄模塊
4)用戶數:100
3.2操作步驟
1)啓動Loadrunner,點擊【create/EditScripts】按鈕進行錄製腳本
圖3-1
2)錄製結束後,命名login進行保存,如下所示
圖3-2
3)點擊【Run Load Tests】打開選擇文件,把錄製的腳本進行添加,點擊Ok
圖3-3
4)設置虛擬用戶數及間隔時間,如圖所示
圖3-4
5)點擊【Analyze TestResults】打開Analysis,選擇允許結果文件,生成報告即可
圖3-5
3.3結果分析
總結:利用loadrunner性能測試工具,通過對警視雲實際項目進行性能測試,採用100、200逐步加壓的方式,利用analysis分析測試結果,彙總有效的測試數據,根據上述測試結果和測試情況,並反饋給研發人員,從而達到對警視雲項目的優化警視雲負載和併發控制。