性能測試工具Loadrunner介紹及其在PTT測試中的應用

發表于:2009-10-09來源:作者:點擊數: 標簽:loadrunnerLoadRunnerloadRunnerLoadrunner性能測試
現代的軟件系統體系結構越來越復雜,在提供了空前強大的功能和靈活性的同時,這些系統也更難以測試,尤其是整個系統的性能和 可靠性 。 例如,對于一個星期一早上有 1000 個用戶同時登錄到系統的應用,該系統的響應時間是多少?系統會崩潰嗎?要回答這些問題
 現代的軟件系統體系結構越來越復雜,在提供了空前強大的功能和靈活性的同時,這些系統也更難以測試,尤其是整個系統的性能和可靠性。
例如,對于一個星期一早上有 1000 個用戶同時登錄到系統的應用,該系統的響應時間是多少?系統會崩潰嗎?要回答這些問題(以及更多的問題),一個完整的應用程序性能測試解決方案必須:
u 測試一個組合了各種軟件應用程序和硬件平臺的系統
u 確定服務器與任何給定應用程序的適應性
u 在開發出必要的客戶端軟件之前測試服務
u 模擬多個客戶端與單個服務器應用程序之間進行交互的環境
u 在幾十、幾百甚至幾千個潛在用戶的負載情況下測試應用程序
傳統的或手動的測試方法只提供不完全的負載測試解決方案。例如,構建一個許多用戶同時使用系統的環境,手動測試整個系統。每個用戶使用一臺計算機并向系統提交輸入內容。這種手動測試方法有下列缺陷
u 昂貴,需要大量的人員和設備
u 復雜,尤其是使多個測試人員協調和同步
u 需要高度嚴密的組織,尤其是有針對性地紀錄并分析結果
u 手動測試的可重復性是有限的 LoadRunner簡介
Mercury Interactive 的 LoadRunner是一種預測系統行為和性能的工業標準級負載測試工具,其自動解決方案著眼于解決手動性能測試的缺陷:
u LoadRunner 通過使用虛擬用戶(Vuser)代替實際用戶來減少人員要求。這些Vuser 模擬實際用戶的行為 ,運行實際的應用程序。
u 因為一臺計算機上可以運行許多 Vuser,因此 LoadRunner 減少了對硬件的要求。
u LoadRunner Controller 可以從一個單一的控制點簡單有效地控制所有的Vuser。
u LoadRunner 聯機監視應用程序的性能,可以在測試執行期間對系統進行微調。
u LoadRunner 在測試過程中會自動記錄應用程序的性能??梢詮谋姸嗟膱D和報告中進行選擇以查看性能數據。
u LoadRunner 可檢查出現性能延遲的地方:網絡或客戶端延遲、CPU 性能、I/O延遲、數據庫鎖定和數據庫服務器上的其他問題。LoadRunner 將監視網絡和服務器資源以幫助改進性能。
u 因為 LoadRunner 測試是完全自動的,可以根據需要反復執行這些測試。
下面我們將簡單介紹Loadrunner架構和各個組件的主要功能,以及在PTT項目測試中的應用。希望能對開發人員和測試人員掌握Loadrunner的使用起到拋磚引玉的作用。 Loadrunner的幾個基礎概念
場景(Scenario):使用 LoadRunner 可以將應用程序性能測試需求劃分為多個場景。場景定義了每個測試會話中發生的事件。舉例來說,場景定義并控制要模擬的用戶的數量及其執行的操作,以及他們運行模擬操作所用的計算機。
虛擬用戶(Vuser):在場景中, LoadRunner 用Vuser代替實際用戶。運行場景時,Vuser 模擬實際用戶的操作來使用應用程序。一臺工作站只能容納一個實際用戶,而多個 Vuser 可以同時運行在同一臺工作站上。實際上,一個場景可以包含幾十、幾百甚至幾千個 Vuser。
虛擬用戶腳本(Vuser script):Vuser 在場景中執行的操作是用 Vuser 腳本描述的。運行場景時,每個 Vuser 都執行Vuser腳本。Vuser 腳本中包含度量并記錄應用程序組件的性能的函數。
集合點(Rendezvous):集合點指示Vuser 在測試執行期間等待,直到多個 Vuser 在某一點到達,以使他們可以并行執行某個任務。插入集合點是為了衡量在加重負載的情況下服務器的性能情況。例如,要模擬銀行服務器的峰值負載,可以插入一個集合點來指示 100 個 Vuser 同時往他們的帳戶存入現金。
事務(Transaction):為了衡量服務器的性能,我們需要定義事務。事務代表度量過程中的一個或一系列操作。比如:我們在腳本中有一個數據查詢操作,為了衡量服務器執行查詢操作的性能,我們把這個操作定義為一個事務,這樣在運行測試腳本時,LoadRunner 運行到該事務的開始點時,LoadRunner 就會開始計時,直到運行到該事務的結束點,計時結束。這個事務的運行時間在結果中會有反映。
LoadRunner的架構 LoadRuner主要由虛擬用戶生成器(VuGen)、控制器(Controller)、負載生成器(Load Generator)、結果分析器(Analysis)四個部分組成(如圖1)。
圖1  LoadRunner的架構虛擬用戶生成器(VuGen),是一種基于 Windows 的應用程序,通過它可以開發、調試并運行Vuser腳本。
負載生成器(Load Generator),是執行 Vuser 腳本,從而使 Vuser 可以模擬實際用戶操作的程序,一臺測試機器上只能分布一個負載生成器。
控制器(Controller),通過它可以管理和維護場景,可以從一臺工作站控制一個場景中分布在負載生成器上的所有 Vuser,并可以同時監視網絡、服務器等資源。
結果分析器(Analysis),通過它可以將一個或多個場景運行的結果生成圖和報告,可以將幾個圖合并成一個圖,對多個圖進行比較,在報告和圖中直觀地查看性能數據。
虛擬用戶生成器
虛擬用戶生成器(VuGen),用于針對各種應用程序類型和通信協議開發 Vuser 腳本,是 LoadRunner 用于開發 Vuser 腳本的主要工具。
開發測試腳本需要如下五個步驟:
1. 錄制基本的Vuser腳本。錄制 Vuser 腳本時,VuGen 會生成各種函數,來精確定義會話過程中所執行的操作,以創建基礎Vuser 腳本。VuGen錄制腳本過程:
u 監控應用程序和服務器之間的通信;
u 生成需要的函數調用;
u 將生成的函數調用插入到Vuser腳本中;
  2. 增強并編輯腳本。當錄制完一個基本的用戶腳本后,在正式使用于測試前我們還需要完善測試腳本,增強腳本的靈活性。一般情況下,我們通過以下方法來完善測試腳本:
u 添加函數增強腳本功能;
u 定義事務度量服務器性能;
u 插入集合點,同步多個Vuser操作;
u 插入注釋,描述活動或提供關于特定操作的信息;
u 模擬用戶思考時間;
u 將函數參量參數化;
3. 配置運行時設置。錄制 Vuser 腳本后,可以配置其運行時設置。運行時設置定義腳本運行的方式,更精確地模擬各種不同的用戶活動。
4. 以獨立模式運行Vuser腳本。完善 Vuser 腳本并設置其運行時設置之后,在腳本集成到負載測試場景之前,在腳本生成器中先以獨立腳本的模式運行,用以確定從 Controller 運行腳本時,該腳本將如何運行。
5. 將腳本集成到Loadrunner場景中。確認了腳本正確、可用之后,可以選擇負載生成器將該腳本集成到場景中。 LoadRunner三個測試步驟
l 創建場景
要使用 LoadRunner 測試系統,必須創建場景。場景描述每個負載測試會話期間發生的事件,用以模擬現實生活中的用戶活動(各類操作在時間和空間上的分布)。場景包含一些如何模擬實際用戶的相關信息:虛擬用戶 (Vuser) 組、Vuser 將運行的測試腳本,以及用于運行腳本的負載生成器計算機。
場景包括常規手動場景、百分比模式手動場景和面向目標的場景3類:
1. 常規手動場景  如果選擇創建常規手動場景,則將“新建場景”對話框中選擇的每個腳本分配給 Vuser 組。然后,可以為每個 Vuser 組分配多個虛擬用戶??梢灾甘灸硞€組中的所有 Vuser 在同一臺負載生成器計算機上運行相同的腳本,也可以為組中的各個 Vuser 分配不同的腳本和負載生成器。
2. 百分比模式手動場景  在百分比模式下,可以定義場景中要使用的 Vuser 總數,并為每個腳本分配負載生成器和占總數一定百分比的 Vuser。
3. 面向目標的場景  在面向目標的場景中,可以定義希望實現的測試目標, LoadRunner 將根據定義的目標自動創建一個場景。在一個面向目標的場景中,可以定義五種類型的目標:虛擬用戶數、每秒點擊次數(僅 Web Vuser)、每秒事務數、每分鐘頁面數(僅 Web Vuser)或場景的事務響應時間。如果想要測試應用程序可以同時運行多少個 Vuser,建議定義虛擬用戶目標類型;如果想要測試服務器的穩定性,建議定義每秒點擊次數、每分鐘頁面數或每秒事務數目標類型;如果想要測試在期望的事務響應時間內可以同時運行多少個 Vuser,建議定義事務響應時間目標類型。
創建場景后,可以為場景選擇或生成計劃(Schedule),以準確描繪用戶行為(操作類型和這些操作的計時等,由 Vuser 腳本表示)。
場景計劃可以指示 LoadRunner自發出RUN 命令后,延遲一段時間再開始執行場景,也可以指定一個特定時間才開始執行場景。
使用計劃生成器,可以對手動場景進行計時設置,從而限制場景的執行持續時間或Vuser 組在場景中的持續時間。通過指定場景或 Vuser 組應處于“正在運行”狀態的分鐘數,可以限制執行持續時間。當場景或組到達其時間限制時,就會結束。
對于手動場景,還可以規定在某一時間段內 LoadRunner 啟動和停止的 Vuser的數量。在指定的時間量內,可以指定LoadRunner 應同時啟動或停止場景或Vuser 組中所有的 Vuser,還是僅啟動/ 停止一定數量的 Vuser。
一切配置妥當,開始運行測試。
l 運行測試
用VuGen創建的每個Vuser腳本通過執行對服務器API的調用來直接與服務器通信,而不需要依賴客戶端軟件。這樣,便可以使用Vuser來檢查服務器性能(甚至在客戶端軟件的用戶界面完全開發好之前)。當Vuser與服務器直接通信時,不需要在用戶界面中耗費系統資源。這樣就可以在一個工作站中同時運行大量Vuser,進而可以使用很少的測試計算機來模擬非常大的服務器負載。
可以在無人干預的情況下運行整個場景,或者可以交互地選擇要運行的 Vuser組和 Vuser。場景開始運行時, Controller 會首先檢查場景配置信息。接著,它將調用已選定與該場景一起運行的應用程序。然后,它會將每個 Vuser 腳本分配給其指定的負載生成器。Vuser 組就緒后,它們將開始執行其腳本。
在場景運行時,可以監視每個 Vuser、查看由 Vuser 生成的錯誤、警告和通知消息以及停止 Vuser 組和各個 Vuser??梢灾甘?LoadRunner 允許單個 Vuser 或組中的 Vuser 在停止前完成它們正在運行的迭代、在停止前完成它們正在運行的操作或者立即停止運行。
l 監視資源
使用聯機監視器可以監視 Vuser 狀態、錯誤、事務、系統資源、Web 資源、網絡延遲、防火墻服務器資源、Web 服務器資源、Web 應用程序服務器資源、數據庫服務器資源、流媒體資源、ERP/CRM 服務器資源、Java 性能、應用程序部署和中間件性能監視等。
另外,在運行場景時,默認情況所有 Vuser 信息將存儲在每個 Vuser 主機的本地。場景執行之后,Analysis會自動將這些結果進行整理或合并,即將所有主機的結果傳輸到結果目錄中,并生成圖和報告。Analysis測試數據分析功能異常強大,包含了很多概率數理統計的知識,并提供高級的分析和報告工具,有各種各樣的報表,甚至可以將多個報表組合,以便迅速查找到出錯的位置和原因并作出相應的調整。
它的基于HTML 的報告提供一個比較性能結果所需的基準,以此衡量在一段時間內,有多大程度的改進并確保應用成功。公網集群系統的測試背景
KP2T公網集群系統是由廣州金鵬集團有限公司開發和生產的集群通信產品,它基于公眾移動通信網,利用公網現有的系統網絡資源、廣泛的覆蓋范圍、“小區制”通信模式以及全面完善的技術支持等優勢,提供專業用戶所需的高性能、大容量、數據速率更高的集群業務和功能;主要依托CDMA公網資源,利用移動通信無線數據信道壓縮傳遞技術,實現點對點、點對多點集群通信功能。同時利用CDMA2000網絡的數據通道傳輸帶寬資源實現簡單多媒體內容傳輸,并采用綜合定位技術實現對團隊成員定位,實時顯示部署和運作狀態,達到快速指揮調度目的。
本產品系列由集群終端(MT)、公網集群交換機(TSC)、用戶數據庫(HIC)、數字集群調度子系統(TDC,TDU)、操作維護中心(TMC,SMU)、定位服務子系統(LCS)組成,其組網結構如圖2所示:
集群終端集成了普通手機功能和數字集群系統終端功能。
公網數字集群交換機采用分布式結構,由一系列的服務器群組成,各服務器上運行相同的軟件,負責其分管用戶的接入、呼叫控制功能;當系統需要擴容時,只需增加相應的服務器就可達到平滑擴容的目的。
用戶數據庫存儲移動臺和用戶群組的靜態和動態信息。
數字集群調度子系統主要負責發布系統消息,群組以及用戶狀態顯示,監聽移動臺或群組通信,實現指揮調度等功能。
操作維護中心主要負責監測數字集群系統的運行情況,完成告警、統計、日志和用戶數據庫等操作維護功能。
定位服務子系統通過GPSONE定位技術獲得用戶的位置信息,精度可以達到室外50米以內,提供定位服務器及相應的定位終端平臺。六步測試流程
下面以ptt項目早期版本的性能測試部分內容為例,講述loadrunner在實際測試中的應用。
1. 規劃測試
測試目標:系統支持最大用戶并行呼叫數,以及在各種呼叫模型下的呼叫時延與服務器的性能;
定義Vuser活動:運行Vuser腳本模擬手持終端呼叫手持終端,分別為300、350、400用戶同時發起呼叫;
 
2. 開發測試腳本
在虛擬用戶腳本中,模擬手持終端登錄、發起呼叫、釋放呼叫、退出等活動;定義呼叫過程的事務;插入思考的時間間隔、集合點,同步用戶發起呼叫,增加服務器的負載壓力。
3. 創建場景
在度量服務器性能測試中,我們選擇常規手動場景,為每個Vuser組選擇一個或多個腳本,分配要測試的不同虛擬用戶數。
創建場景后,使用計劃生成器同時啟動、停止所有虛擬用戶,并模擬實際通話時長設定場景執行持續時間為15分鐘。
4. 運行場景
場景配置完成后,運行測試。
在場景運行時監視每個Vuser、查看Vuser生成的錯誤、警告和通知消息;
5. 監視場景
使用聯機監視,主要監視服務器CPU、內存等系統資源和網絡流量、網絡時延、呼叫時延等。
6. 分析測試結果
以下是從測試結果中選取的有代表性的部分監視圖。
 
400個并發呼叫數的cpu占用率
400個并發呼叫數的內存占用率
300個并發呼叫數的語音包時延
400個并發呼叫數的語音包時延
300個并發呼叫數的網絡流量
400個并發呼叫數的網絡流量通過不斷地增加并行呼叫數,比較測試獲取的各個結果,其中CPU、內存占用率穩定,CPU未超過60%,內存占用率未超過20%,而網絡流量隨、網絡時延隨著并行呼叫數的增加有微量的上升,均在可接受的范圍之內。因此公網集群交換機單服務器支持400個并發呼叫。
結束語 Loadrunner具有快速、可靠、可重復同一操作、可靈活制定測試場景、腳本可重用、支持HTTP、Winsock、WAP等大量協議等優點。但存在腳本支持的功能不夠靈活、在負載測試中沒進行功能校驗、對不支持的協議無能為力可擴展性差等不足之處, 在測試中還需要使用其他工具或方法輔助測試。
從后續的測試情況及公網集群系統的實際運用情況看,使用LoadRunner進行公網集群系統性能測試,能夠較準確地評估系統的真實性能,對開發的后期優化和性能改進等起到很大的作用。

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97