1、效能測試的基本概念
系統的效能是乙個很大的概念,覆蓋面很廣,對乙個軟體系統而言,包括執行效率、資源占有、系統穩定性、安全性、相容性、可靠性和可擴充套件性等。
效能測試是為描述測試物件與效能相關的特徵並對其進行評價,而實施和執行的一類測試。通常大家把效能測試、負載測試、壓力測試統稱為效能測試。
負載測試:通過逐步增加系統負載,測試系統效能的變化,並最終確定滿足系統的效能指標情況下,系統所能承受的最大負載量的測試。簡而言之,負載測試是通過逐步加壓的方式來確定系統的處理能力、確定系統能夠承受的各項閥值。也就是,通過逐步增加系統負載,確定在滿足效能指標的情況下,系統所能承受的最大負載量。
壓力測試:通過逐步增加系統負載,測試系統效能的變化,並最終確定在什麼負載條件下系統效能處於失效狀態,並來獲得系統能提供的最大服務級別的測試。壓力測試是逐步增加負載,使系統某些資源達到飽和甚至失效。
配置測試:主要是通過對被測試系統的軟硬體配置的測試,找到系統各項資源的最優分配原則。
併發測試:測試多個使用者同時訪問同乙個應用、同乙個模組或資料記錄時是否存在死鎖或其他效能問題。
容量測試
可靠性測試:通過給系統載入一定的業務壓力(如cpu資源在
70%~90%
的使用率)的情況下,執行一段時間,檢查系統是否穩定。因為執行時間較長,通常可以測試出系統是否有記憶體洩漏等問題。
失敗測試:對於有冗餘備份和負載均衡的系統,通過這樣的測試來檢驗如果系統區域性發生故障使用者是否能夠繼續使用系統,使用者能受到多大的影響。如幾台機器做負載均衡,一台或幾台機器垮掉後系統能夠承受的壓力。
2、效能測試工具的引入
目前市場上有很多效能測試工具,如商業的工具主要有loadrunner、
webload
、rational performance test
(rpt
)等,免費的工具主要包括
jmeter、、
opensta
等。在這些工具中,
loadrunner
具有介面友好、方便易用、支援協議眾多、功能強大等優勢。
loadrunner主要由
vugen
、controller
和analysis
三部分構成。
vuser指令碼生成器(也稱為
vugen
)是loadrunner
用於開發
vuser
指令碼的主要工具。
vugen
不僅能夠錄製
vuser
指令碼,還可以執行這些指令碼。錄製
vuser
指令碼時,
vugen
會生成各種函式來定義在錄製會話過程中執行的操作。
vugen
將這些函式插入
vugen
編輯器中,以建立基礎
vuser
指令碼。
loadrunner通過
controller
模擬乙個多使用者並行工作的環境來對應應用程式進行負載測試。在
controller
中有手工和基於目標兩種方法來設計場景,可以通過設定場景來模擬使用者的行為,同時在場景的執行過程中,
loadrunner
會自動收集應用伺服器軟體和硬體相關資料,並將這些資料存放到乙個小型的資料庫檔案中,準確地度量、監控並分析資料是否達到預期目標。
loadrunner的
analysis
提供了豐富的圖表幫助我們從各個角度對資料進行有效的分析,同時可以將多個圖表進行合併來分析,比如,虛擬使用者—平均響應時間圖表,通過該圖表可以分析當虛擬使用者增加系統的響應時間是否會有影響。同時,也可以通過
analysis
比較兩次執行的結果之間的差異,從而很方便地進行系統調優工作,還可以將測試結果輸出成為規範的
word
或html
格式的報告。
【重要提示】vugen僅能錄製
windows
平台上的會話。但是,錄製的
vuser
指令碼既能在
windows
平台上執行,也可以在
unix
平台上執行。
3、loadrunner相關概念
集合點:集合點可以同步虛擬使用者以便恰好在同一時刻執行任務。集合點的新增有手工或選單兩種方式。在vugen中新增集合點,在
controller
中設定集合點的各項資訊。這裡主要講解集合點的設計策略,在「策略」部分,有三個選項,①當虛擬使用者中的
x%到達集合點時釋放,即:僅當指定百分比的虛擬使用者到達集合點時才釋放虛擬使用者;②當所有正在執行的虛擬使用者中的
x%到達集合點時釋放:僅當場景中指定百分比的正在執行的虛擬使用者到達集合點時,才釋放虛擬使用者;③當
x個虛擬使用者到達集合點時釋放:僅當指定數量的虛擬使用者到達集合點時,才釋放虛擬使用者。
在「虛擬使用者之間的超時值」框中輸入乙個超時值。每個虛擬使用者到達集合點之後,loadrunner
都會等待下乙個虛擬使用者到達,等待的最長時間就是設定的超時間隔。如果下乙個虛擬使用者沒能在超時間隔內到達,
controller
就會從集合中釋放所有的虛擬使用者。每當有新的虛擬使用者到達時,計時器就會重置為零。預設超時間隔是
30秒。
事務:事務是指使用者在客戶端做一種或多種業務所需要的操作集,通過事務函式可以標記完成該業務所需要的操作內容;另一方面可以用來統計使用者操作的相應時間。事務響應時間是指通過記錄使用者請求的開始時間和伺服器返回內容到客戶時間的差值來計算使用者操作響應時間的。
插入乙個事務有兩種方式來實現,一種是手工方式,另外一種是利用選單項或工具條進行事務的新增。
【重要提示】事務必須是成對出現,即:乙個事務有事務開始,必然要求也有事務結束。
事務結束函式共包括兩個引數,第乙個引數是事務的名稱,第二個是事物的狀態,「lr_pass
」說明事務成功,「
lr_fail
」說明事務失敗,「
lr_stop
」說明事務停止,「
lr_auto
」說明事務的狀態由系統自動根據預設規則來判斷,結果為
pass/fail
。在應用事務的過程中,不要將思考時間
(lr_think_time函式)
放在事務開始和事務結束之間,否則會影響對事務正確的執行時間的分析與統計。
檢查點:檢查點是在回放指令碼期間搜尋特定的文字字串或者等內容,從而驗證伺服器響應時間內容的正確性。之所以設定檢查點是因為http協議是無狀態的,即當客戶端向伺服器發出請求後,伺服器只要響應了客戶端的請求,那麼它就認為它是正確的。
插入檢查點有兩種方式,一種是手工方式,另外一種是利用選單或者工具條進行檢查點的新增。
【重要提示】檢查點設定完成之後,要保證【run-time setting】—【
preferences
】—【enable image and text check
】核取方塊被選中,否則檢查點不會生效。
web_reg_find
是註冊函式,註冊類函式有乙個明顯的特徵就是在函式名稱中包含了「
reg」字元,這類函式必須放置在響應頁面
(web_submit_form)
之前。
html
頁面中查詢指定的文字字串
web_find:從
html
頁面中查詢指定的文字字串
web_image_check:從
html
頁面中查詢指定的
web_global_verification:從所有後續
互動中查詢指定的文字字串
使用者在執行兩個連續操作期間等待的時間稱為思考時間。loadrunner在錄製指令碼中,虛擬使用者產生器(
vugen
)將錄製實際的停留等待時間並將相應的等待時間插入到指令碼,指令碼中的
lr_think_time()
函式即為思考時間。
loadrunner效能測試
8.error failed to connect to server 192.168.1.100 2060 10061 connection refused iis關閉 web伺服器承受不了壓力,拒絕服務,降低tcptimewaitdelay時間和增加maxuserport tcp連線使用的最大埠...
loadrunner 效能測試
效能測試劃分 負載測試 壓力測試 配置測試 併發測試 可靠性測試 負載測試 是通過對被測試系統不斷的加壓,直到超過預 定的指標或者是部分資源已經達到了一種飽和 狀態不能再加壓為止 壓力測試 指當系統已經達到一定的飽和程度 如cpu 磁 盤等已經處於一種飽和狀態 系統處理業務 的能力,系統是否會出現崩...
LoadRunner效能測試術語
通過某些軟體進行自動測試,找出壓力點,負載量等。為了衡量某一操作效能,在該操作的開始和結束加入範圍大量使用者同時操作,對伺服器產生壓力一起向伺服器傳送帶有壓力或者影響的操作的使用者的數量。設定檢查點判斷伺服器返回的內容來反應操作是否成功 設定集合點控制使用者在某一時候進行統一的操作使用者在進行操作的...