loadrunner ——Controller

場景設置

通過對場景的設計從而形成和用戶需求相同的真實負載。
設計場景關鍵在於需求和性能測試的目標,設計場景到底是爲了測試什麼東西是在場景設計前需要好好考慮的。

目標場景的目的就是通過設置目標來驗證系統能否達到目標,在項目最後需要確認質量時可以使用目標場景來完成最終的測試報告。目標場景中無法設置集合點策略,系統自動形成併發負載。
當需要定位瓶頸的時候推薦還是要用手工場景。
Hits per Second表示每秒點擊數。如100次/s即爲系統能夠提供每秒鐘返回100次HTTP頭爲200 OK的服務器應答。
Pages per Minute表示每分鐘頁面的刷新次數,反映了系統在每分鐘下所能提供的Page(頁面)處理能力。

逐漸增加負載的意義:系統會隨着負載的增加而逐漸暴露出資源瓶頸,通過手工場景中的start vusers可以觀察隨着負載增加系統資源的變化情況,從而得到系統的峯值處理能力。
設置負載逐漸釋放,可以分析系統回收資源的能力。

手動設置場景的運行模式爲Real-life時,可以反覆添加start vusers/duration/stop vusers生成一個波浪型的場景。
手動設置場景的運行模式爲Classic Schedule時,用戶的Duration持續時間設置會多出Run indefinitely,指腳本會永不停止的運行下去。

負載的真實性是受到腳本影響的。一般real-life運行的腳本會更偏向於模擬用戶操作流程,而classic腳本更偏向於模擬一種操作。
例如:設置一個real-life的腳本,那麼該腳本就應該包括思考時間、用戶隨機邏輯選擇等情況,儘可能真實的模擬系統負載狀態。
而classic的腳本只需要針對某一種操作進行模擬即可,從而可以獲得該操作在性能負載下的情況,逐個確認性能指標。

在scenario模式下,要修改各個group的用戶數,可以點擊菜單schedule-convert scenario to the percentage mode,將場景的用戶模式改爲百分比模式。該模式下,兩個腳本用的是同樣的負載方式進行的。

在group模式下,可以獨立設置腳本運行模式。還可以通過start group策略爲腳本之間設置前後運行關係。
如:需求規定在9-11點進行操作A,在12-14點進行操作B,那麼就可以通過group方式來設置場景中的腳本A和B的先後關係來模擬系統的負載情況。

用戶管理Virtual Users
點擊Virtual Users按鈕可以彈出虛擬用戶管理器。在場景運行時,可以選中某個正在運行的用戶右鍵菜單打開show user功能可以獲得用戶的運行狀態(模擬瀏覽器運行畫面)。還可以選中show vusers log打開用戶運行的日誌。

場景中的run-time setting獨立存放在場景.lrs文件中,不會影響腳本在VuGen中的運行設置。在運行場景前要檢查運行設置是否合理。
  1. think-time在場景中會默認設置爲按照腳本錄製的lr_think_time()函數運行。所以要在場景運行前檢查並設置合理的思考時間值。
  2. 負載生成器會調用MMDRV.EXE生成負載。而負載的生成分爲進程方式和線程方式兩種。
       進程方式的話每一個虛擬用戶使用一個單獨的mmdrv.exe來完成負載的實現,這樣用戶之間相互獨立,不會互相影響但是資源開銷大。
       線程方式的話所有用戶都是在一個mmdrv.exe上模擬的,消耗的資源小。
  3. 一般情況運行場景時選擇:只有出錯才生成日誌。除非是爲了查找錯誤調試腳本,纔會打開詳細日誌選項。
  4. 關閉自動化事務:腳本默認對每個action都設置一個事務,爲了避免多餘的數據影響,應該關閉自動化事務選項。
  5. 帶寬模擬:帶寬會直接影響到事務的響應時間,而真實環境下每個用戶的帶寬也是有限的。所以要爲用戶設置一個合理的帶寬。
     帶寬模擬中設置的帶寬是給每個用戶分配的帶寬,不是所有用戶的帶寬。
  6. 集合點策略:當場景中多個腳本需要併發負載時,只需要設置同名集合點即可實現。
負載生成器Load Generator
負載生成器是可以單獨安裝並提供給controller進行遠程管理,可以安裝在linux下。
如果希望遠程的LR能訪問這臺負載生成器,需要運行Agent Configuration啓動LoadRunner Agent Process,確保在任務欄中有小雷達圖標的Agent運行。
在windows下,如果排除了防火牆的問題後,Load Generator無法連接一般是由於權限配置錯誤導致的。解決方法如下:
在安裝Load Generator的電腦上,打開LoadRunner中Tools菜單下的LoadRunner Agent Runtime Settings Configuration在選項Allow virtual users to run on this machine without user login輸入登錄信息。

爲了保證負載生成的有效性,在真正實施性能測試前要測試一下負載器是否存在硬件瓶頸(生成負載時的CPU、內存、寬帶佔用情況),確保負載生成時負載器自身不會成爲瓶頸。

系統監控
1. 計數器原理:controller能監控系統不是因爲裝了LR,是系統自身提供了計數器和監控器接口,爲了系統自身性能測試和瓶頸定位。
2. 在windows操作系統控制面板——管理工具中‘性能’能看到性能監視器。也能自定義計數器,在添加計數器窗口中提供了每個計數器對應的說明,幫助我們理解。
3. 使用controller監控計數器的好處是可以得到與負載同步的被負載服務器信息。但是當服務器忙時可能不能準確返回計數器的值。可以通過在服務器上安裝第三方工具對計數器進行監控,然後將監控結果導入analysis。
4. 不同的license數提供了不同的協議支持和monitors支持。所以在controller中run標籤頁的available graphs裏能夠監控的計數器也受license影響。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章