【轉】LoadRunner中Action的迭代次數的設定和運行情境中設定

來源:互聯網
上載者:User

標籤:des   style   http   io   ar   color   使用   sp   for   

LoadRunner是怎麼重複迭代和怎麼增加並發啟動並執行呢?

  另外,在參數化時,對於一次壓力 測試中均只能用一次的資源應該怎麼參數化呢?就是說這些資源用了一次就不能在用了的。  --參數化時,在select  next row選擇unique,update value on選擇 each occurence,   1. 迭代跟虛擬使用者數沒什麼必然聯絡  迭代是這樣的:  迭代1次   迭代2次  迭代3次  使用者1     X1           X2             X3  使用者2     Y1           X2             Y3  其中的X1-3 Y1-3是參數,參數規則就是二樓說的  這麼兩個使用者是根據你的rump up 上來的,比如5秒上兩個使用者,那麼使用者1和2就在5秒之內載入進來的,不知道說清楚了沒。  第二個問題就簡單了,只能用一次的參數,首先確保你的參數足夠,另外規則選擇的時候,注意選擇唯一  迭代次數只是對你設定了迭代次數的action進行迭代,而使用者數可以理解為對整個錄製過程的迭代(只是各個使用者不同) 而且增加並發量可以通過增加使用者來達到 還可以設定集合點來增加某個操作的並發量  假如一個指令碼,設定最大並發量為10,每5秒中增加2個並發使用者,而Action設定的迭代為10次:   當開始至2秒時,載入了2個使用者,這2個使用者分別開始運行,並都運行10次,不管這個2個使用者運行10次是否結束,當下一個2兩秒到來時,即開始至第4 秒時又載入了2個使用者,這2個又運行10次;就這樣一直載入到10個並發使用者,然後當每個使用者都運行完10次時就結束。  這樣中間最大並發是10個,但不一定能達到10個,因為在載入最後幾個時,前面的有可能已經運行結束,所以如果要真正達到最大並發10就必須設定集合點來完成  不過也不一定非要設定集合點才能實現同時處在running的狀態有10個使用者。  設定duration也是可以的。不過那就不只每個使用者運行10次了。  如果想實現使用者迭代10次,並且想同時running為10個使用者,就應該設定集合點。  迭代(Iterate)設計,或者我們稱之為增量(Incremental)設計的思想和XP提倡的Evolutionary Design有異曲同工之妙。  注意:1、 參數類型:在建立參數的時候,我選擇了參數類型為File。參數類型共有9 種,現在來簡單介紹一下所有的參數類型以及意義。  1.1、   DateTime:在需要輸入日期/時間的地方,可以用 DateTime 類型來替代。其屬性設定也很簡單,選擇一種格式即可。當然也可以定製格式。  1.2、   Group Name:很少用到。在實際運行中,LoadRunner 使用該虛擬使用者所在的Vuser Group 來代替。但是在 VuGen 中運行時,Group Name將會是None。  1.3、   Load Generator Name :在實際運行中, LoadRunner   使用該虛擬使用者所 在LoadGenerator   的機器名來代替。  1.4、   Iteration Number :在實際運行中,LoadRunner 使用該測試指令碼當前迴圈的次數來代替。  1.5、   Random Number:隨機數。很簡單。在屬性設定中可以設定產生隨機數的範圍。  1.6、   Unique Number:唯一的數。在屬性設定中可以設定第一個數以及遞增的數的大小。   注意:使用該參數類型必須注意可以接受的最大數。例如:某個文字框能接受的最大數為99。當使用該參數類型時,設定第一個數為 1,遞增的數為1,但100個虛擬使用者同時運行時,第100 個虛擬使用者輸入的將是 100,這樣指令碼運行將會出錯。這裡說的遞增意思是各個使用者取第一個值的遞增數,每個使用者相鄰的兩次迴圈之間的差值為 1。舉例說明:假如起始數為 1,遞增為 5,那麼第一個使用者第一次迴圈取值 1,第二次迴圈取值 2;第二個使用者第一次迴圈取值為 6,第二次為 7;依次類推。
 1.7、   Vuser ID:設定比較簡單。在實際運行中,LoadRunner 使用該虛擬使用者的 ID   來代替,該 ID   是由 Controller 來控制的。但是在 VuGen 中運行時,Vuser ID   將會是 –1。  1.8、   File:需要在屬性設定中編輯檔案,新增內容,也可以從現成的資料庫中取資料  1.9、   User Defined Function:從使用者開發的 dll 檔案提取資料。  用HTTP協議錄製了一個包含登入、瀏覽、退出過程的指令碼,錄製時都放到Action部分,這時指令碼設定了迭代後可以多次重複運行,但是出於處理邏輯,一旦將登入指令檔放到Init部分後,就無法正常進行迭代運行了。今天專門找個時間做了嘗試,發現可能出現這兩種錯誤。  1、這是我犯的一個低級錯誤。在我將登入指令檔移到Init部分時,將登入指令檔之後的瀏覽操作前面的web_reg_find指令碼也一起移了過去,結果運行完Init部分指令碼就出錯了。錯誤提示:  Error -27259: Pending web_reg_save_param/reg_find/create_html_param[_ex] request(s) detected and reset at the end of the Init section  這種錯誤的現象是沒有進行迭代已經出錯了,錯誤提示也很明確。這時只要把web_reg_find放回Action部分的正確的位置即可。  2、單次運行正確,但是多次迭代運行時出錯,錯誤提示:  Error -27985: There is no context for HTML-based functions. A previous function may not have used "Mode=HTML" or downloaded only non-HTML page(s), or the context has been reset (e.g., due to a GUI-based function)  這種錯誤可能比較常見,原因是在Runtime Settings的Browse Emulation中設定了Simulate a new user on each iteration引起的。由於這個設定導致每次迭代時都會類比一個新的使用者,此時這個新的使用者並沒有執行init操作而失敗了,也即是錯誤提示中的There is no context。  這裡涉及到一個知識點就是在Rumtime Settings的迭代設定中,迭代運行次數只對Action部分有效,而Init部分和End部分還是只運行一次的。這時如果設定了“Simulate a new user on each iteration”,將出現上面的第2種錯誤。

【轉】LoadRunner中Action的迭代次數的設定和運行情境中設定

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.