安靜的等待

          茹呲綄鎂
          posts - 51, comments - 9, trackbacks - 0, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          LoadRunner壓力測(cè)試操作步驟

          Posted on 2007-07-18 10:06 ricki 閱讀(8290) 評(píng)論(0)  編輯  收藏 所屬分類: Loadrunner壓力測(cè)試

          以創(chuàng)建交易腳本為例,詳細(xì)的解釋一下使用LoadRunner進(jìn)行壓力測(cè)試的過程。關(guān)于如何定義測(cè)試目標(biāo)及每個(gè)步驟詳細(xì)的操作過程在操作手冊(cè)中有解釋,這里就不說了。

          一、 使用VUGen錄制腳本

          1、根據(jù)應(yīng)用程序架構(gòu)選擇相應(yīng)的協(xié)議。一般象B/S的程序用單一的http協(xié)議就可以了。

          2、開始錄制。根據(jù)所選協(xié)議的不同,出現(xiàn)的對(duì)話框不不同的。選擇http協(xié)議的話需要錄入url地址,在這步錄入需要測(cè)試的地址如https://www.alipay3.net

          3、錄制腳本:在一個(gè)腳本中,默認(rèn)有三個(gè)動(dòng)作:vuser_init Action vuser_end。通常把初始化操作放到vuser_init中,具體需要測(cè)試的操作放在Action中,vuser_end動(dòng)作目前來說沒有什么用處。在創(chuàng)建交易腳本中,需要測(cè)試的操作包括創(chuàng)建支付寶交易、買家付款、賣家發(fā)貨、買家確認(rèn)收貨。每一個(gè)操作都必須首先登陸才能進(jìn)行。

          4、添加事務(wù):為了使錄制的腳本更易讀,錄制過程中要為每一個(gè)獨(dú)立的操作添加事務(wù)。比如說登陸、買家付款都放在一個(gè)單獨(dú)的事務(wù)中。特別注意,因?yàn)楸敬螠y(cè)試目標(biāo)是每秒內(nèi)總的交易數(shù),所以需要分別給每一個(gè)測(cè)試腳本的Action操作都加上一個(gè)統(tǒng)一的事務(wù),名稱都叫做“Action”,以便衡量是否可以達(dá)到目標(biāo)。

          5、添加驗(yàn)證點(diǎn):腳本錄制好后,在需要的地方加上驗(yàn)證點(diǎn),來檢測(cè)腳本是否執(zhí)行成功。以登陸操作來說,在提交登陸的腳本后面,右擊鼠標(biāo),選擇Insert—NewStep,在出現(xiàn)的對(duì)話框中選擇Web Checks—Text Check,進(jìn)行文字驗(yàn)證,查找退出這兩個(gè)字是否出現(xiàn)。如果出現(xiàn)就說明登陸成功了。

          6、根據(jù)需要對(duì)變量參數(shù)化:在登陸操作中需要參數(shù)化的值包括:URL,登陸帳號(hào)、登陸密碼。點(diǎn)擊工具欄的Param List按鈕可以創(chuàng)建參數(shù)。當(dāng)新建一個(gè)參數(shù)后,LR會(huì)在當(dāng)前腳本的目錄下自動(dòng)創(chuàng)建一個(gè)文件存放參數(shù)的值。我們不要這個(gè)默認(rèn)的文件名,把所有參數(shù)的文件名都修改為“D:\LrData\Email.dat”[文件路徑及名稱都是可以手工修改的],這樣可以在多個(gè)腳本中共享相同的變量。

          a)        url、登陸帳號(hào)、登陸密碼:這幾個(gè)參數(shù)都是手工在LR中輸入,然后保存到文件中。

          b)        交易號(hào):在查詢交易明細(xì)腳本中,會(huì)隨機(jī)的選取100個(gè)交易查看其明細(xì)。這種情況下,交易號(hào)直接從數(shù)據(jù)庫中取得比較方便。但是必須在本地安裝oracle客戶端。如果沒有裝oralce客戶端,可以首先登陸到PL/SQL中,查詢100個(gè)交易號(hào),選中把查詢結(jié)果,選擇導(dǎo)出到CSV文件中。如下圖:

           

          導(dǎo)出后,在LR中打開Param List,選中交易號(hào)這個(gè)參數(shù),點(diǎn)擊Edit With NotePad按鈕,把csv文件的內(nèi)容拷貝到這個(gè)里面即可。注意拷貝前需要用支持列編輯的文本工具打開csv文件,去掉前后的引號(hào)。保存文件成功后,在LR中就可以看到導(dǎo)出的交易號(hào)了。

          7、在Vuser中運(yùn)行腳本,確認(rèn)腳本可以正常運(yùn)行。

          二、            使用Controller設(shè)置場(chǎng)景進(jìn)行測(cè)試

          1、創(chuàng)建場(chǎng)景:由于我們這次的測(cè)試目標(biāo)是以每秒N個(gè)交易,所以選擇基于目標(biāo)的場(chǎng)景。創(chuàng)建場(chǎng)景的同時(shí),加入需要測(cè)試的腳本。

          2、定義測(cè)試目標(biāo):

          場(chǎng)景創(chuàng)建成功后,單擊Edit Scenario Goals定義測(cè)試目標(biāo)。

          在這個(gè)對(duì)話框中新建一個(gè)測(cè)試目標(biāo),類型為:Transactions per Second,事務(wù)名稱為我們統(tǒng)一定義的“Action”,事務(wù)數(shù)量根據(jù)需要設(shè)置。Vuser的數(shù)量設(shè)置從20到500。

          3、設(shè)置運(yùn)行時(shí)間:

          也是在Edit Scenario Goals中,可以設(shè)置達(dá)到目標(biāo)后再運(yùn)行多少時(shí)間。

          4、Run-Time Setting:(特別注意)

          在VuGen中也有Run-Time Setting,但是在那里設(shè)置好的參數(shù)不會(huì)被帶到Controller中,需要重新設(shè)置。對(duì)每一個(gè)腳本都需要設(shè)置。

          a)        Think Time:這個(gè)選為Ignore think time,否則結(jié)果中的事務(wù)響應(yīng)時(shí)間很大,包含了這個(gè)思考時(shí)間。

          b)        打開驗(yàn)證點(diǎn)檢查功能:在Preferences選項(xiàng)中,給Enable Image and text check打勾,否則腳本執(zhí)行時(shí)不會(huì)去檢查驗(yàn)證點(diǎn)的。

          c)        設(shè)置Action的迭代次數(shù):在Run Logic中,單獨(dú)設(shè)置腳本中每個(gè)動(dòng)作的執(zhí)行次數(shù)。例如在查詢交易明細(xì)腳本中,需要模擬一次登陸,查詢10次明細(xì)的情況,就需要設(shè)置Action動(dòng)作迭代10次。

          5、添加需要監(jiān)控的性能參數(shù)

          這次我們測(cè)試的服務(wù)器是Linux,需要得到在各種壓力下服務(wù)器的負(fù)載情況。Linux的性能參數(shù)在場(chǎng)景中沒有默認(rèn)被監(jiān)控,所以需要手動(dòng)添加。要監(jiān)控Linux的資源,需要在服務(wù)器上運(yùn)行一個(gè)叫做rstatd的進(jìn)程,這個(gè)進(jìn)程可以從網(wǎng)上下載。在服務(wù)器上啟動(dòng)這個(gè)進(jìn)程后,

          在測(cè)試場(chǎng)景中,手工將Available Graphs的UNIX Resources拖動(dòng)到右邊的視圖中,然后右擊,選擇Add Measurements,添加需要監(jiān)視的服務(wù)器。

           

          圖中,上面一個(gè)Add添加需要監(jiān)視的服務(wù)器,下面的Add是用來添加需要監(jiān)視的參數(shù),包括Average Load等等。

          6、運(yùn)行場(chǎng)景,保存執(zhí)行結(jié)果

          運(yùn)行時(shí),需要選擇運(yùn)行結(jié)果保存的路徑及文件。這些結(jié)果文件可以在Analysis中查看。

          三、            查看運(yùn)行結(jié)果

          第二步場(chǎng)景運(yùn)行結(jié)束后,通過菜單Results—Analysis Results打開運(yùn)行結(jié)果。

          在Analysis中,默認(rèn)顯示以下類型的結(jié)果分析圖。

          需要手工把Unix資源的圖打開,單擊上圖中的New Graph,出現(xiàn)下面的對(duì)話框。

          選擇System Resources下的UNIX Resources,單擊Open Graph,就可以看到在場(chǎng)景中所監(jiān)視的各個(gè)性能指標(biāo)的曲線圖了。

          點(diǎn)擊保存可以把結(jié)果保存為*.lrr的文件,下次可以直接通過Analysis打開。

          四、            比較2次或者多次場(chǎng)景運(yùn)行的結(jié)果

          測(cè)試中,為了提高系統(tǒng)的性能,會(huì)修改代碼或者更改架構(gòu),這時(shí)候我們需要對(duì)修改前后的場(chǎng)景運(yùn)行結(jié)果進(jìn)行比較,通過一些性能指標(biāo)的曲線圖比較直觀的了解系統(tǒng)的變化。

          在Analysis中,通過菜單File—Cross With Result可以合并結(jié)果進(jìn)行比較。

           

          通過Add按鈕可以添加多個(gè)*.lrr文件進(jìn)行結(jié)果的比較,點(diǎn)OK后會(huì)出現(xiàn)各個(gè)結(jié)果的比較圖。


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 黎川县| 奈曼旗| 库尔勒市| 措美县| 邵东县| 柳江县| 汝南县| 秦皇岛市| 泸溪县| 阿拉尔市| 北安市| 四会市| 宁强县| 尤溪县| 安化县| 锦屏县| 犍为县| 双峰县| 射阳县| 全椒县| 肇州县| 海兴县| 施秉县| 壤塘县| 东辽县| 保山市| 锦州市| 津南区| 苍梧县| 锡林浩特市| 辛集市| 新田县| 大兴区| 宁乡县| 安泽县| 金湖县| 十堰市| 金川县| 松桃| 白山市| 潍坊市|