1. 程式人生 > >LR-Controller場景設計與場景監控筆記

LR-Controller場景設計與場景監控筆記

性能測試 壓力測試 軟件測試 控制器 場景監控

筆記要點:

概念

場景設計

場景執行

場景監視

一、概念

1.新建場景中包括兩種場景方法:手動場景(更靈活,更接近真實用戶操作) 和面向目標場景。

二、場景設計

主要包括Schedule 、View Script、Generator參數設置。手動與面向目標場景的後兩個參數是一致的。只有Schedule參數不同。

1.手動場景Schedule的配置

Schedule主要設置用戶的行為方式 。包括按場景計劃和按用戶組計劃。

(1)場景名稱

場景名稱要反映場景動作。

(2)按場景計劃

1)Initialize設置,設置腳本運行前如何初始化每個Vuser。

方式:

同時初始化所有Vuser

每隔一段時間初始化一定數量的Vuser

在腳本運行前初始化所有Vuser(一般使用該方式 )

2)Start Vusers設置:設置Vuser加載的過程

Start Vuser:指總的Vuser數。

方式:

同時加載所有的Vuser

每隔一段時間加載一定數量的Vuser(一般使用該方式)

3)Duration設置,設置場景執行運行的時間。

方式:

一直運行,直到所有Vuser運行結束後,結束整個場景的執行。

設置場景持續運行時間,一般在進行壓測時,只需測試15-30min即可,若要測試系統的穩定性和可靠性時,需持續運行24h或72h.

4)Stop Vusers設置,設置場景執行完成後Vuser如何釋放的策略。當Duration為“按指定時間運行”時,才有該項。

Stop Vusers:指釋放多少Vuser,默認為所有,也可自定義釋放多少Vuser

方式 :

當場景運行結束後,同時釋放所有Vuser

每隔一段時間就停止一定量的Vuser,一般Vuser加載和停止方式一致。

(3)按用戶組計劃(Schedule by Group)

該方式更靈活 ,可創建實際應用中腳本與腳本間的約束關系 。如一組用戶執行後產生的數據記錄為另一組用戶的輸入。使用場景組設置場景策略時,LR默認將每個腳本定義為一組。

按用戶組計劃中的設置有:Start Group\Start Vusers\Duration\Stop Vusers 後三項均與按場景計劃一致 。

1)Start Group設置,

方式 :

場景運行時立即開始運行該腳本

場景執行一段時間後才開始運行該腳本。

在某個特定的用戶組運行結束後才開始運行該腳本 ,即在某個腳本運行結束後才開始運行。

(4)場景開始時間(Scenario Start Time)

方式:

單擊Start Scenario 後,場景立即開始

單擊Start Scenario 後,推遲指定時間才開始運行

單擊Start Scenario 後,在指定的時間開始運行。

(5)百分比模式

事先設定好Vuser總數,再按百分比對所有Vuser分配,該場景適合業務模型明確的性能測試。

2.面向目標場景Schedule配置

先定義好測試需要達到的目標,再根據目標來創建場景。

面向目標場景中共包含5種目標類型。

eg .Hits per Second類型

技術分享圖片

(1)Scenario Settings選項

包含二個選項,見上圖,

Run Time 中設置值後 表示當達到目標時,場景還會持續運行一段時間才結束運行。

目標未達到處理方法。

(2)Load Behavior選項

技術分享圖片

(3)目標類型

技術分享圖片

3.配置View Script

技術分享圖片

用戶腳本加載後,需要修改時,右鍵腳本選擇查看腳本 ,進行修改,修改後,需重新加載。

4.配置Load Generator負載發生器

Load Generator負責和其他負載機聯系並強制負載機執行。一個Controller可通過Load Generator來控制多臺負載機。

可添加一臺負載機

技術分享圖片

添加後,右鍵連接來檢查負載機與控制機的連接情況 。

技術分享圖片

使用負載機模擬多用戶測試系統時, 註意事項 :

1)計算需要多少臺負載機

當把每個Vuser按進程的方式運行時,在場景運行時,每添加一個Vuser都會增加一個進程 ,而每個進程都需要消耗內存和CPU資源 。

一般,每盒Vuser消耗資源與OS, 錄制時選擇的協議,LR版本有關。

若以進程方式運行,每個Vuser添加一個進程 ,測試時需要觀察每個進程消耗資源的情況。

如:在Windows7下,每個Vuser消耗的內存為7000k左右,若運行600個Vuser,大概需要4101M的內存,若每臺測試機的內存為1G ,則至少需要4臺這樣的測試機。

2)控制器如何控制負載機運行

原理:控制器通過代理程序控制負載機運行(代理程序的名稱為:LR Agent process),所以首先需要在控制器和客戶端啟動代理程序 。

技術分享圖片

一般使用手動登錄。

技術分享圖片

啟動代理程序後, 當場景在初始化時, 控制器向負載機發送一個二進制文件,該文件中包含所有待運行的腳本信息,初始化後,負載機會產生Vuser來模擬測試。

三、場景執行

場景運行情況包括三個對象:場景 Vuser組 Vuser

1.場景控制

分為:場景組控制信息和數據圖

技術分享圖片

如上圖,左邊為用戶組的運行情況 ,右邊為場景的控制操作, 包括開始場景 停止場景 復位場景 Vuser組,運行/停止 Vuser

停止場景有三種方式 :

技術分享圖片

Vuser組如下:

技術分享圖片

可對單個Vuser進行如下操作:

技術分享圖片

2.場景執行時查看場景

1)Vuser運行狀態

技術分享圖片

2)事務詳細信息

技術分享圖片

可點擊通過事務數或失敗事務數,的顯示快照 ,查看事務對話框 。

技術分享圖片

3)查看“輸出”窗口

場景運行時,Vuser和負載發生器會向Controller發送錯誤 、通知、警告、調試和批處理消息,這些消息可在"輸出"窗口中查到。

技術分享圖片

分析輸出信息時,註意事項 :

出錯是性能測試原因還是腳本編寫原因。

找到出錯的日誌信息。(錯誤信息是來自哪個負載機 哪個Vuser,確定後可找到場景運行時的日誌信息,否則在運行大量Vuse時,若一低點個查看Vuser的日誌信息,影響效率 。這種方法可直接找到日誌文件 具體定位更詳細信息)

四、場景監視

通過監控獲取更多數據,幫助分析服務器性能瓶頸,需了解添加監控器和分析監視曲線圖。

1.關聯聯機監控

整個監控過程由控制器執行並在監控過程中收集相關數據 ,在場景運行時控制收集的信息包括以下:

1)負載機執行時的數據

控制器需要分析一些相關的數據,如點擊率,吞吐量,事務響應時間等,而每個Vuser運行的數據是負載機獲得,所以控制器需要監控負載機。

原理:Vuser運行時,負載機收集運行時相關數據,再把數據發送給控制器,控制器把數據保存在DB中,最後由分析器來重新整理這些數據,畫成曲線圖。

2)服務器運行時的相關數據

包括 :Web 服務器 (MIcrosoft IIS、WebSphere、WebLogic、Tomcat、Apache)

DB服務器(Mysql、SQL\Oracle)

對於服務器的相關數據包括:一是服務器資源的使用情況 \‘二是每種服務器自身的一些特性(需使用其他工具)。

LR主要提供的監控器包括:運行圖、事務圖、Web資源圖、系統資源圖、網絡圖、防火墻圖、Web服務器資源圖、Web應用服務器圖、DB服務器資源圖、ERP/CRM服務器資源圖、應用組件圖、應用程序部署解決方案、中間件性能圖、基礎設施資源圖。

------------以下將各種監控內容整理,標*的為主要關註內容。

技術分享圖片技術分享圖片

2.監控器與度量

3.聯機監控器

筆記總結:

Controller 主要包括兩部分內容:場景設置(手動模式與目標模式)和場景監控(主要監控場景運行過程中服務器的表現情況)。

主要監控內容:

錯誤輸出信息

點擊率圖

吞吐量圖

事務響應時間

添加計數器


LR-Controller場景設計與場景監控筆記