LoadRunner的一個解決方案

發表于:2007-04-22來源:作者:點擊數: 標簽:loadrunner一個解決方案
LoadRunner的一個 解決方案 某web項目 需求 信息:要求在用戶的登錄時間小于5秒(包含登錄中下載所有資源的時間)情況下的最大用戶并發數。 場景描述:以小規模的用戶數每格一定的時間遞增用戶,遞增的用戶隨正在運行的用戶一起并發登錄。每個用戶的響應時間

LoadRunner的一個解決方案 

 某web項目需求信息:要求在用戶的登錄時間小于5秒(包含登錄中下載所有資源的時間)情況下的最大用戶并發數。
場景描述:以小規模的用戶數每格一定的時間遞增用戶,遞增的用戶隨正在運行的用戶一起并發登錄。每個用戶的響應時間超過5秒就認為是錯誤。
LoadRunner實現方式:
1、錄制腳本并把登錄過程定義為一個事務,在事務前加一集合點;
2、使用手動方案,設置用戶數為較大的用戶數;
3、設置集合策略,選擇“釋放:當達到100%運行用戶時”;
4、設置加載方式為“每x秒加載y個用戶”,數字根據具體情況設置;
5、設置持續時間為“無限期運行”;
6、在Controller的運行時設置中設置“瀏覽器仿真”,選中“下載非HTML資源”和“每次迭代模擬一個新用戶”;
7、在“Internet協議首選項”的高級設置中,選中“在本地保存快照資源”和“出現錯誤時激活快照”;
8、接上步,單擊“設置高級選項”右側的“選項”按鈕,在彈出的窗口中設置“HTTP請求連接超時”“HTTP請求接收超時”“步驟下載超時”均為5秒,并選擇“由資源引起的步驟超時是一條警告信息”為否。
9、開始運行腳本。
輔助信息:
1、可以參考“從Controller中監視VU執行腳本的情況”了解Virtual User的執行情況。
2、可在腳本中適當增加檢查點。
3、以上第8步可能不太合理,你看出來了嗎,一定還有更好的方式吧^_^
從Controller窗口中查看當前腳本中的參數和vu的迭代次數的腳本實例:
#include "as_web.h"
static int iteration;
Action()
{
char *pp;
//請自定義參數文件NewParam
pp="value={NewParam}";
//在vugen調試窗口中顯示當前參數值,在Controller窗口中不會顯示出來
lr_output_message("Para is:%s",lr_eval_string("{NewParam}"));
//在Controller監視窗口中顯示當前參數值和當前vu迭代次數,在vugen調試窗口中不會顯示出來
lr_vuser_status_message("Para is:%s,%dTimes Iteration",lr_eval_string("{NewParam}"),++iteration);
return 0;
}
運行場景時在Controller運行窗口中單擊Vusers按鈕(開始方案按鈕的下面),彈出窗口中可看到信息。

web_url(); 步驟包含了思考時間,即使是在沒有指定的情況下。
解決方式:
        即使沒有指定思考時間,系統也會自動為web_url("default.asp")步驟指定思考時間。
        在重播思考時間啟用時該步驟會有10秒鐘的暫停。忽略思考時間可以使它立即直接訪問。
        在Analysis中如果選中篩選器中的包含思考時間選項就可以在結果中看到思考時間。
以下是有關服務請求的細節知識
        “在某些情況下運行腳本時,LoadRunner會加入它自己的思考時間。其中一種情況是當收到一個401錯誤時。當請求的cookie設置不正確時,有時應用服務器會返回401錯誤。LoadRuner一旦收到這個錯誤信息它就會等待10秒鐘并且重新請求資源。這次LoadRunner將會向服務器發送正確的cookie,從而進行訪問?!?BR>        “401錯誤的存在要求站點運行正常。它的工作方式是這樣的,第一次請求某個URL或著以一個新的會話返回了URL,服務器需要為此URL認證或指定一個session id,這樣就會在錯誤的請求鐘設置一個cookie信息。然后就會重新請求該URL,這次是使用的是一個有效的cookie,然后服務器發送你所請求的信息?!?
        “如果沒有返回401錯誤的話就不能生成一個新的cookie。沒有新的cookie的話就不能訪問服務器?!?
        “在這里我們想要做的是讓LoadRunner立即重新發送請求而不等待10秒。為了達到這個目的,請在腳本文件夾下default.cfg文件中的[Web]下面加入下面語句:”
         Retry401ThinkTime=0
        “這樣設置以后,從Vugen中再次運行腳本或把它加到新的場景中或在已有的場景中刪除并重新加入后運行,就不會在重新請求資源時等待10秒鐘了?!?
使用自定義的VuGen腳本模板
步驟:
1、創建一個新的腳本;
2、對此腳本進行所需的設置(自定義);
3、保存腳本;
4、現在,拷貝該腳本目錄下的default.cfg文件到Program Files\Mercury Interactive\LoadRunner\template\{dir}目錄下。{dir}表示你將要創建腳本的出處。例如,Web/HTML虛擬用戶的目錄是\qtweb\目錄。你也可以自定義init.c、end.c和action.c,這樣以后新建的腳本都會使用這些模板了。 
 

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

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