事務又稱為 Transaction ,在 LoadRunner 中的定義如下 :An end-to-end(browser-to-browser) measurement of one or more user actions within action f" name="description" />

LoadRunner中的事務--好友冰巖友情原創

發表于:2008-07-30來源:作者:點擊數: 標簽:loadrunnerLoadRunnerLoadrunner友情好友
MI LY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">事務又稱為 Transaction ,在 LoadRunner 中的定義如下 :An end-to-end(browser-to-browser) measurement of one or more user actions within action f

MILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">事務又稱為Transaction,在LoadRunner中的定義如下:An end-to-end(browser-to-browser) measurement of one or more user actions within action file。中文理解如下:事務(Transaction)是這樣一個點,我們為了衡量某個action的性能,需要在action的開始和結束位置插入這樣一個范圍,這就定義了一個transaction。

事務的作用:LoadRunner 運行到該事務的開始點時,LoadRunner 就會開始計時,直到運行到該事務的結束點,計時結束。這個事務的運行時間在LoadRunner的運行結果中會有反映。通俗的講LoadRunner中的事務就是一個計時標識,LoadRunner在運行過程中一旦發現事務的開始標識,就開始計時,一旦發現事務的結束表示,則計時結束,這個過程中得到的時間即為一個事務時間。通常事務時間所反映的是一個操作過程的響應時間。

下面我們說說為什么在LoadRunner中使用事務。為什么使用事務的原因是多種多樣的,總結下來如下五點所示:

1、事務是 LoadRunner 度量系統性能指標的唯一手段;(沒有事務則沒有辦法衡量系統的響應時間,也許有人說LoadRunner可以通過編程來計時得到,不錯如果你編程能力夠強是能夠實現的,但肯定不如LoadRunner中的事務用的簡單而且方便)

2、事務能夠用于度量高風險業務流程的性能指標;

3、事務能夠度量在一組操作中每一步的性能指標;

4、通過事務計時實現了不同壓力負載下的性能指標對比;

5、通過事務計時可以幫助定位性能瓶頸;

性能測試的角度出發,我們需要知道不同的操作所花費的時間,這樣我們就可以衡量不同的操作對被測系統所造成的影響,那么我們如何知道不同的操作所花費的時間,這就用到了事務,我們在操作之前插入一個事務開始標識,在操作完成后插入一個事務結束表示,這樣我們就知道了這個操作所花費的時間。

接著我們說說如何使用事務,以及事務應該應用在什么地方。

使用事務有如下幾種方法:

1、方法一:腳本生成后,手動插入事務;方法:在LoadRunner腳本中點擊鼠標:右鍵,選擇“InsertStart Transaction”彈出一個對話框,輸入一個事務名字(注:事務名字可以為中文、可以為英文,也可以中英文混合,但推薦的做法是起一個容易理解的名稱,例如想知道登錄所花費的時間,則插入事務可以命名為login或登錄);“Start Transaction”插入完成后,還需要插入一個“End Transaction”,用以標識事務結束;注:Start TransactionEnd Transaction需要成對出現,如果僅插入Start Transaction則腳本編譯會提示錯誤;此外,還可以通過LoadRunner vugen中的“Insert”菜單插入Start TransactionEnd Transaction;

2、方法二:在腳本錄制過程中插入Start TransactionEnd Transaction;在腳本錄制過程中,通過錄制工具條上的Start TransactionEnd Transaction圖標插入事務,如下圖所示:

3、方法三:通過Run-time Settings 中的Automatic Transactions自動生成事務,如下圖所示:

注:該種方法插入的事務僅能在LoadRunner Controller中的圖表和報告中看到在腳本的log中看不到。

以上為事務的插入方法,無論是那種方法,插入事務后,我們都可以在腳本中看到如下兩個函數:lr_start_transaction("事務")  lr_end_transaction("事務", LR_AUTO),前一個為事務開始函數,后一個為事務結束函數,括號中引號中的內容為事務名稱。

事務舉例:如下為一個LoadRunner所生成的腳本。

    web_url("Folder.jsp_4",

              "URL=http://172.17.16.5/xpc71/jsp/com/folder/Folder.jsp",

              "Resource=0",

              "RecContentType=text/html",

              "Referer=http://172.17.16.5/xpc71/LoginAction.do",

              "Snapshot=t10.inf",

              "Mode=HTML",

              LAST);

       web_url("TemplateAdminAction.do",

              "URL=http://172.17.16.5/xpc71/TemplateAdminAction.do?forwardID=1",

              "Resource=0",

              "RecContentType=text/html",

              "Referer=http://172.17.16.5/xpc71/LoginAction.do",

              "Snapshot=t11.inf",

              "Mode=HTML",

              LAST);

 

       web_submit_form("ScheduleCreationAction.do",

              "Snapshot=t12.inf",

              ITEMDATA,

              "Name=PTName", "Value=test", ENDITEM,

              "Name=headerTempID", "Value=ttte", ENDITEM,

              "Name=selectHeader", "Value=1", ENDITEM,

              "Name=schTempID", "Value=preProductionDetailTemplate", ENDITEM,

              LAST);

 

我們插入事務之后如下所示:

 

    lr_start_transaction("事務");

    lr_start_transaction("事務1");

    lr_start_transaction("事務2");

 

    web_url("Folder.jsp_4",

              "URL=http://172.17.16.5/xpc71/jsp/com/folder/Folder.jsp",

              "Resource=0",

              "RecContentType=text/html",

              "Referer=http://172.17.16.5/xpc71/LoginAction.do",

              "Snapshot=t10.inf",

              "Mode=HTML",

              LAST);

       lr_end_transaction("事務", LR_AUTO);

       web_url("TemplateAdminAction.do",

              "URL=http://172.17.16.5/xpc71/TemplateAdminAction.do?forwardID=1",

              "Resource=0",

              "RecContentType=text/html",

              "Referer=http://172.17.16.5/xpc71/LoginAction.do",

              "Snapshot=t11.inf",

              "Mode=HTML",

              LAST);

       lr_end_transaction("事務1", LR_AUTO);

 

       web_submit_form("ScheduleCreationAction.do",

              "Snapshot=t12.inf",

              ITEMDATA,

              "Name=PTName", "Value=test", ENDITEM,

              "Name=headerTempID", "Value=ttte", ENDITEM,

              "Name=selectHeader", "Value=1", ENDITEM,

              "Name=schTempID", "Value=preProductionDetailTemplate", ENDITEM,

              LAST);

       lr_end_transaction("事務2", LR_AUTO);

解釋:

Ø        “事務”統計的時間為

web_url("Folder.jsp_4",

                     "URL=http://172.17.16.5/xpc71/jsp/com/folder/Folder.jsp",

                     "Resource=0",

                     "RecContentType=text/html",

                     "Referer=http://172.17.16.5/xpc71/LoginAction.do",

                     "Snapshot=t10.inf",

                     "Mode=HTML",

                     LAST);

所執行的時間;

Ø        “事務1”統計的時間為:

       web_url("Folder.jsp_4",

              "URL=http://172.17.16.5/xpc71/jsp/com/folder/Folder.jsp",

              "Resource=0",

              "RecContentType=text/html",

              "Referer=http://172.17.16.5/xpc71/LoginAction.do",

              "Snapshot=t10.inf",

              "Mode=HTML",

              LAST);

       web_url("TemplateAdminAction.do",

              "URL=http://172.17.16.5/xpc71/TemplateAdminAction.do?forwardID=1",

              "Resource=0",

              "RecContentType=text/html",

              "Referer=http://172.17.16.5/xpc71/LoginAction.do",

              "Snapshot=t11.inf",

              "Mode=HTML",

              LAST);

所執行的時間;

Ø        “事務2”統計的時間為:

       web_url("Folder.jsp_4",

              "URL=http://172.17.16.5/xpc71/jsp/com/folder/Folder.jsp",

              "Resource=0",

              "RecContentType=text/html",

              "Referer=http://172.17.16.5/xpc71/LoginAction.do",

              "Snapshot=t10.inf",

              "Mode=HTML",

              LAST);

web_url("TemplateAdminAction.do",      

"URL=http://172.17.16.5/xpc71/TemplateAdminAction.do?

forwardID=1",

              "Resource=0",

              "RecContentType=text/html",

              "Referer=http://172.17.16.5/xpc71/LoginAction.do",

              "Snapshot=t11.inf",

              "Mode=HTML",

              LAST);

 

       web_submit_form("ScheduleCreationAction.do",

              "Snapshot=t12.inf",

              ITEMDATA,

              "Name=PTName", "Value=test", ENDITEM,

              "Name=headerTempID", "Value=ttte", ENDITEM,

              "Name=selectHeader", "Value=1", ENDITEM,

"Name=schTempID", "Value=preProductionDetailTemplate", ENDITEM,

              LAST);

所執行的時間;

從上文我們可以看出事務之間可以嵌套使用,相互之間沒有影響,事務計時僅僅以事務名稱為標識。

總結:

        使用LoadRunner transactions可以度量:

    業務流程中每一步所花費的時間

    整個業務流程所花費的時間

    業務流程中每一步的性能指標可以自動度量

        可以在錄制過程中和錄制完成后增加LoadRunner transactions

        利用 “automatic LoadRunner transactions” 可以很方便的度量每一步的性能指標。

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

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