• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 基于 STAF/STAX + Autoit 的性能測試方案實現桌面云擴展性測(3)

    發表于:2012-03-16來源:IBM作者:董文濤點擊數: 標簽:性能測試
    STAX XML 腳本用于靈活控制 STAF Agent 的運行的事務,并可以作為通用框架來重用,該腳本是實現并發執行的核心,主要實現思想:根據性能測試的負載定義,

      STAX XML 腳本用于靈活控制 STAF Agent 的運行的事務,并可以作為通用框架來重用,該腳本是實現并發執行的核心,主要實現思想:根據性能測試的負載定義,把每個產生負載的機器(安裝了 STAF 的遠程機器)定義為 虛擬用戶,根據一系列參數輸入(如 IP 列表,初始啟動虛擬用戶,負載穩定時長,負載爬升高度等)傳入 XML 調度文件,執行 XML 任務時,先針對每個虛擬用戶創建一個任務,并且掛住(STAX 提供的 hold 方法)所有的任務,然后

      并發(利用 STAX 的 paralleliterate 方法)釋放指定數目的虛擬用戶任務,每隔一段時間(即負載穩定一段時間),并發釋放一定數目的虛擬用戶任務,于是虛擬用戶開始執行,根據 XML 中調用的命令,運行定義好的一系列事務,每個事務結束后繼續執行下一個事務,重復釋放的動作,就可以實現負載的階梯上升,從而觀察系統在不同的負載,以及隨著負載漸增時的性能表現。

      主要實現是基于下面的示例,詳細范例請參考 Getting Started with STAF V3 Guide

      并發執行元素 paralleliterate

      清單 1. XML 并發執行的元素

    				
     <paralleliterate var="machine" indexvar="i" in="machineList" maxthreads="20"> 
      <block name="'#%s: %s' % (i + 1, machine)"> 
        <call function="'RunTest'">machine</call> 
      </block> 
     </paralleliterate> 
    

      掛住和釋放任務

      清單 2. XML 掛住和釋放任務

    				
     <function name="ReleaseBlock" scope="local"> 
          <function-list-args> 
             <function-required-arg name="parentBlock" /> 
    
             <function-required-arg name="blocknameList" /> 
    
             <function-required-arg name="sleeptime" /> 
          </function-list-args> 
    
          <sequence> 
     <script> 
       import time 
       time.sleep(int(sleeptime))   
     </script> 
    
             <message>'ReleaseBlock: sleep time=%s, 
             then paral to release specific blocks num:%s' %(sleeptime, 
             len(blocknameList))</message> 
    
             <paralleliterate var="block" indexvar="i" in="blocknameList"> 
                <sequence> 
                   <message>'ReleaseBlock: release blocks:%s.%s' 
                   %(parentBlock,block)</message> 
    
     <script> 
     BlockChain = '%s.%s' %(parentBlock, block) 
     </script> 
    
                   <release block="BlockChain" /> 
                </sequence> 
             </paralleliterate> 
          </sequence> 
       </function> 
    

      編寫模擬用戶行為的 Autoit 腳本:

      1). 模擬用戶行為的用例示范:

      表 1. 用例設計示例

    用例序號 行為 響應時間檢查點
    用例1:瀏覽網頁
    1-1 按下 Win+R 組合鍵  
    1-2 在“運行”中,輸入瀏覽器路徑,回車  
    1-2 思考時間  
    1-3 按順利訪問 URL 加載完每個網頁的時間
    1-4 關閉瀏覽器  
    用例2: 記事本輸入
    2-1 按下 Win+R 組合鍵  
    2-2 打開 notepad,輸入文字 輸入的文字完全顯示的時間延遲
    2-3 思考時間  
    2-4 關閉記事本  
    用例3: 打開 Word 文檔、翻頁
    3-1 按下 Win+R 組合鍵  
    3-2 打開 Word 文檔  
    3-3 思考指定時間,翻頁 從翻頁動作發生到下頁顯示完全的時間
    3-4 關閉文檔  

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>