基于 STAF/STAX + Autoit 的性能測試方案實現桌面云擴展性測(5)

發表于:2012-03-16來源:IBM作者:董文濤點擊數: 標簽:性能測試
采用其他免費或者 開源 的框架(如 LiveGraph 等),實現數據的實時動態展現,便于迅速做性能情況做初步評估,在此不做進一步展開。 遠程調試 dbgview 的使

  采用其他免費或者開源的框架(如 LiveGraph 等),實現數據的實時動態展現,便于迅速做性能情況做初步評估,在此不做進一步展開。

  遠程調試 dbgview 的使用(略)

  編寫多種用戶類型的組合的 workload 配置文件

  為模擬真實世界中,多種用戶類型并存的情況,需要編寫的組合型的 XML 文件實現,例如可以抽象出三種用戶類型:Light, moderate, heavy,采用 N+3 的測試方法,即從總數為 N 的虛擬用戶中選取 3 個用戶單獨監測其上運行事務的響應,這么做的好處在于提高測試數據的真實度,該測試場景下假定所有的用戶的系統配置一樣,所以可以通過抽樣的方式,從 N 個系統中取三個樣本,來代表整體的情況,并且,這么做可以大大程度的減少測試程序本身對系統的 CPU 的占用,因為監測程序在校對程序界面的變化的延遲是通過靜態圖片比對的方式,比對過程會占用一部分系統 CPU 資源。下面的范例 XML 文件基于靈活性考慮,把模擬每種用戶類型行為的接口制作成兩套,一套是監測程序響應延遲的(帶靜態圖片比對),一套是不監測的。在實際測試中可以根據需要進行取舍或者整合。

  測試執行

  基準測試

  1. 系統啟動時長的基準測試

  重用原來的 workload 框架,并做部分修改,只需要使用 STAF 的'service Ping'命令就可以準確衡量所有機器從開機到所有服務運行起來的時間間隔,這是一個很好的實踐:

  XML 腳本實現,如下清單所示:

  清單 5. XML 測試機器啟動的示例

				
 <sequence> 
               <message>'VerifyFunSample: ping test on %s' %(machine)</message> 

 <!-- <timer duration="'10s'"> --> 
               <loop 
                until="RC == 0"> 
                  <process 
                   name="'service Ping'"> 
                     <location>'local'</location> 

                     <command 
                      mode="'shell'">'STAF %s ping ping' % machine</command> 

                     <focus 
                      mode="'minimized'" /> 
                  </process> 
               </loop> 

 <!--  </timer> --> 
               <if 
                expr="RC != 0"> 
                  <message>'service Ping of machine %s failed' % machine</message> 

                  <else> 
                  <message>'service Ping of machine %s successfully' % machine</message>
                  </else> 
               </if> 
            </sequence> 

  運行 STAX 腳本,填寫所需的測試參數

  執行 STAX 任務

  啟動時間的獲取 (獲得系統開機后到所有的服務都已經運行的時長)

  先同時啟動多臺虛擬機

  并且同時運行 STAX 腳本,測試便進行起來:

  圖 11. STAX 啟動時間測試界面

圖 11. STAX 啟動時間測試界面

  等測試結束,就可以把 Messages 中的內容復制到 Excel 中利用簡單的時間戳相減(每個機器啟動 successfully 對應的 Timestamp- 腳本啟動的時間)既可以得到每個機器準確的啟動時間。

  擴展測試中的用戶體驗測試

  單用戶類型的擴展性測試

  以 heavy 用戶類型為例,采用客觀的評測方法,針對 heavy 類型中的‘ 1 ’(監控響應時間)的用戶,采用 XML 的 process-action,在視頻播放開始后,延遲適當的時間進行屏幕錄制,并且設置錄制的時長,然后通過錄制的效果作為客觀評估的依據。屏幕錄制只是記錄多媒體播放效果的一種記錄方法,亦也可以采用其他的方法。

  混合用戶類型的并發測試

  以 N+3 的類型為例,運行效果如下圖所示:

  圖 12. 混合用戶的負載測試界面

圖 12. 混合用戶的負載測試界面

  測試結果示例

  啟動時間

  對腳本進行擴展就可以滿足不同的測試需求,比如啟動不同數目的虛擬用戶在不同的場景下面的啟動時間的圖例:

  圖 13. 啟動時間度量結果圖例

圖 13. 啟動時間度量結果圖例

  GUI 程序響應延遲

  操作不同的應用程序的響應時間圖例:

  圖 14. GUI 程序響應延遲度量結果

圖 14. GUI 程序響應延遲度量結果

  播放不同的媒體文件的效果評測圖例:

  圖 15. 媒體文件播放效果度量

圖 15. 媒體文件播放效果度量

  改進和建議

  STAX 的在大規模的并發任務和監控(并發超過 100),對 STAX 所運行的機器的 CPU 消耗很高,因而對硬件資源要求較高,建議運行用多臺 STAX 和 STAF 分擔負載,在大規模的并發測試場景,本方案未經驗證,在做性能測試方案的選型的時候應予以評估和驗證。

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

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