使用LoadRunner進(jìn)行負(fù)載壓力測(cè)試_第1頁
使用LoadRunner進(jìn)行負(fù)載壓力測(cè)試_第2頁
使用LoadRunner進(jìn)行負(fù)載壓力測(cè)試_第3頁
使用LoadRunner進(jìn)行負(fù)載壓力測(cè)試_第4頁
使用LoadRunner進(jìn)行負(fù)載壓力測(cè)試_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

使用LoadRunner進(jìn)行負(fù)載壓力測(cè)試LoadRunner是MI公司的自動(dòng)化client/server性能測(cè)試工具。它施壓于你的整個(gè)的應(yīng)用程序,來隔離和識(shí)別潛在的客戶端、網(wǎng)絡(luò)、服務(wù)器瓶頸。它使你能在受控的和高峰負(fù)載條件下測(cè)試你的系統(tǒng)。通過運(yùn)行分布在網(wǎng)絡(luò)上的成千上萬的虛擬用戶(取代真實(shí)用戶)來產(chǎn)生負(fù)載,一臺(tái)機(jī)器上可以運(yùn)行許多虛擬用戶。使用最小的硬件資源,這些虛擬用戶提供一致的、可重復(fù)的、可度量的負(fù)載來像真實(shí)用戶那樣操作你的應(yīng)用程序。它的深入的報(bào)告和圖表提供給你評(píng)價(jià)應(yīng)用程序性能的信息°LoadRunner模擬多用戶并發(fā)環(huán)境進(jìn)行負(fù)載測(cè)試,精確度量、監(jiān)測(cè)和分析系統(tǒng)性能與功能。它的在線監(jiān)測(cè)器使你能在測(cè)試執(zhí)行期間調(diào)校你的系統(tǒng)。2.2錄制基本的用戶腳本創(chuàng)建用戶腳本需要用到VuGen。提示:運(yùn)行VuGen最好在1024*768的分辨率下,否則有些工具欄會(huì)看不到。啟動(dòng)VisualUserGenerator后,通過菜單新建一個(gè)用戶腳本,選擇系統(tǒng)通訊的協(xié)議。這里我們需要測(cè)試的是Web應(yīng)用,同時(shí)考慮到后臺(tái)SQL數(shù)據(jù)庫(kù)所以我們需要選擇Web(HTTP/HTML)協(xié)議+SQLSERVER協(xié)議,確定后,進(jìn)入主窗體。通過菜單來啟動(dòng)錄制腳本的命令。?在URL中添入要測(cè)試的Web站點(diǎn)地址..。?測(cè)試http://localhost/MercuryWebTours/選擇要把錄制的腳本放到哪一個(gè)部分,默認(rèn)情況下是“Action”。這里簡(jiǎn)單說明一下:VuGen中的腳本分為三部分:vuser_init、vuser_end和Actiono其中vuser_init和vuser_end都只能存在一個(gè),不能再分割,而Action還可以分成無數(shù)多個(gè)部分(通過點(diǎn)擊New按鈕,新建ActionXXX)。在錄制需要登陸的系統(tǒng)時(shí),我們把登陸部分放到vuser_init中,把登陸后的操作部分放到Action中,把注銷關(guān)閉登陸部分放到vuser_end中。(如果需要在登陸操作設(shè)集合點(diǎn),那么登陸操作也要放到Action中,因?yàn)関user_init中不能添加集合點(diǎn))在其他情況下,我們只要把操作部分放到Action中即可。注意:在重復(fù)執(zhí)行測(cè)試腳本時(shí),vuser_init和vuser_end中的內(nèi)容只會(huì)執(zhí)行一次,重復(fù)執(zhí)行的只是Action中的部分。?點(diǎn)“選項(xiàng)”按鈕,進(jìn)入錄制的設(shè)置窗體,這里一般情況下不需要改動(dòng)。?然后點(diǎn)“OK”后,VuGen開始錄制腳本。在錄制過程中,不要使用瀏覽器的“后退”功能,LoadRunner支持不太好!錄制過程中,在屏幕上會(huì)有一個(gè)工具條出現(xiàn)。錄制的過程和WinRunner有些類似,不再多介紹。錄制完成后,按下“結(jié)束錄制”按鈕,VuGen自動(dòng)生成用戶腳本,退出錄制過程。2.3完善測(cè)試腳本當(dāng)錄制完一個(gè)基本的用戶腳本后,在正式使用前我們還需要完善測(cè)試腳本,增強(qiáng)腳本的靈活性。一般情況下,我們通過以下幾種方法來完善測(cè)試腳本。插入事務(wù)、插入結(jié)合點(diǎn)、插入注解、參數(shù)化輸入。這里只舉例介紹參數(shù)化如何設(shè)置,其它只作簡(jiǎn)單介紹。2.3.1插入事務(wù)事務(wù)(Transaction):為了衡量服務(wù)器的性能,我們需要定義事務(wù)。比如:我們?cè)谀_本中有一個(gè)數(shù)據(jù)查詢操作,為了衡量服務(wù)器執(zhí)行查詢操作的性能,我們把這個(gè)操作定義為一個(gè)事務(wù),這樣在運(yùn)行測(cè)試腳本時(shí),LoadRunner運(yùn)行到該事務(wù)的開始點(diǎn)時(shí),LoadRunner就會(huì)開始計(jì)時(shí),直到運(yùn)行到該事務(wù)的結(jié)束點(diǎn),計(jì)時(shí)結(jié)束。這個(gè)事務(wù)的運(yùn)行時(shí)間在結(jié)果中會(huì)有反映。插入事務(wù)操作可以在錄制過程中進(jìn)行,也可以在錄制結(jié)束后進(jìn)行。LoadRunner運(yùn)行在腳本中插入不限數(shù)量的事務(wù)。具體的操作方法如下:在需要定義事務(wù)的操作前面,通過菜單或者工具欄插入。輸入該事務(wù)的名稱。注意:事務(wù)的名稱最好要有意義,能夠清楚的說明該事務(wù)完成的動(dòng)作。插入事務(wù)的開始點(diǎn)后,下面需要在需要定義事務(wù)的操作后面插入事務(wù)的“結(jié)束點(diǎn)”。同樣可以通過菜單或者工具欄插入。默認(rèn)情況下,事務(wù)的名稱列出最近的一個(gè)事務(wù)名稱。一般情況下,事務(wù)名稱不用修改。事務(wù)的狀態(tài)默認(rèn)情況下是LR_AUTO。一般情況下,我們也不需要修改,除非在手工編寫代碼時(shí),有可能需要手動(dòng)設(shè)置事務(wù)的狀態(tài)。2.3.2插入集合點(diǎn)插入集合點(diǎn)是為了衡量在加重負(fù)載的情況下服務(wù)器的性能情況。在測(cè)試計(jì)劃中,可能會(huì)要求系統(tǒng)能夠承受1000人同時(shí)提交數(shù)據(jù),在LoadRunner中可以通過在提交數(shù)據(jù)操作前面加入集合點(diǎn),這樣當(dāng)虛擬用戶運(yùn)行到提交數(shù)據(jù)的集合點(diǎn)時(shí),LoadRunner就會(huì)檢查同時(shí)有多少用戶運(yùn)行到集合點(diǎn),如果不到1000人,LoadRunner就會(huì)命令已經(jīng)到集合點(diǎn)的用戶在此等待,當(dāng)在集合點(diǎn)等待的用戶達(dá)到1000人時(shí),LoadRunner命令1000人同時(shí)去提交數(shù)據(jù),從而達(dá)到測(cè)試計(jì)劃中的需求。注意:集合點(diǎn)經(jīng)常和事務(wù)結(jié)合起來使用。集合點(diǎn)只能插入到Action部分,vuser_init和vuser_end中不能插入集合點(diǎn)。具體的操作方法如下:在需要插入集合點(diǎn)的前面,通過菜單或者工具欄操作輸入該集合點(diǎn)的名稱。注意:集合點(diǎn)的名稱最好要有意義,能夠清楚的說明該集合點(diǎn)完成的動(dòng)作。2.3.3插入注釋注釋的作用就不多說了,不過插入注釋最好是在錄制過程中。具體的操作方法如下:在需要插入注釋的前面,通過菜單或者工具欄操作2.3.4參數(shù)化輸入如果用戶在錄制腳本過程中,填寫提交了一些數(shù)據(jù),比如要增加數(shù)據(jù)庫(kù)記錄。這些操作都被記錄到了腳本中。當(dāng)多個(gè)虛擬用戶運(yùn)行腳本時(shí),都會(huì)提交相同的記錄,這樣不符合實(shí)際的運(yùn)行情況,而且有可能引起沖突。為了更加真實(shí)的模擬實(shí)際環(huán)境,需要各種各樣的輸入。參數(shù)化輸入是一種不錯(cuò)的方法。用參數(shù)表示用戶的腳本有兩個(gè)優(yōu)點(diǎn):可以使腳本的長(zhǎng)度變短。可以使用不同的數(shù)值來測(cè)試你的腳本。例如,如果你企圖搜索不同名稱的圖書,你僅僅需要寫提交函數(shù)一次。在回放的過程中,你可以使用不同的參數(shù)值,而不只搜索一個(gè)特定名稱的值。參數(shù)化包含以下兩項(xiàng)任務(wù):在腳本中用參數(shù)取代常量值。設(shè)置參數(shù)的屬性以及數(shù)據(jù)源。參數(shù)化僅可以用于一個(gè)函數(shù)中的參量。你不能用參數(shù)表示非函數(shù)參數(shù)的字符串。另外,不是所有的函數(shù)都可以參數(shù)化的。參數(shù)化輸入的講解,我們采用一個(gè)例子的方式來進(jìn)行。在本例中我們參數(shù)化用戶的登陸名:先看如下腳本,通過腳本錄制找到用戶登陸部分,如圖框選住登陸名,點(diǎn)鼠標(biāo)右鍵,彈出對(duì)話框,選擇“替換為新參數(shù)”彈出對(duì)話框參數(shù)名隨意取,建議取通俗易懂的名字,下面我們重點(diǎn)介紹一下參數(shù)的類型。?DateTime:很簡(jiǎn)單,在需要輸入日期/時(shí)間的地方,可以用DateTime類型來替代。其屬性設(shè)置也很簡(jiǎn)單,選擇一種格式即可。當(dāng)然也可以定制格式。.?GroupName:暫時(shí)不知道何處能用到,但設(shè)置比較簡(jiǎn)單。在實(shí)際運(yùn)行中,LoadRunner使用該虛擬用戶所在的VuserGroup來代替。但是在VuGen中運(yùn)行時(shí),GroupName將會(huì)是None.?LoadGeneratorName:在實(shí)際運(yùn)行中,LoadRunner使用該虛擬用戶所在LoadGenerator的機(jī)器名來代替。.?IterationNumber:在實(shí)際運(yùn)行中,LoadRunner使用該測(cè)試腳本當(dāng)前循環(huán)的次數(shù)來代替。.?RandomNumber:隨機(jī)數(shù)。很簡(jiǎn)單。在屬性設(shè)置中可以設(shè)置產(chǎn)生隨機(jī)數(shù)的范圍.?UniqueNumber:唯一的數(shù)。在屬性設(shè)置中可以設(shè)置第一個(gè)數(shù)以及遞增的數(shù)的大小。注意:使用該參數(shù)類型必須注意可以接受的最大數(shù)。例如:某個(gè)文本框能接受的最大數(shù)為99。當(dāng)使用該參數(shù)類型時(shí),設(shè)置第一個(gè)數(shù)為1,遞增的數(shù)為1,但100個(gè)虛擬用戶同時(shí)運(yùn)行時(shí),第100個(gè)虛擬用戶輸入的將是100,這樣腳本運(yùn)行將會(huì)出錯(cuò)。注意:這里說的遞增意思是各個(gè)用戶取第一個(gè)值的遞增數(shù),每個(gè)用戶相鄰的兩次循環(huán)之間的差值為1。舉例說明:假如起始數(shù)為1,遞增為5,那么第一個(gè)用戶第一次循環(huán)取值1,第二次循環(huán)取值2;第二個(gè)用戶第一次循環(huán)取值為6,第二次為7;依次類推。?VuserID:設(shè)置比較簡(jiǎn)單。在實(shí)際運(yùn)行中,LoadRunner使用該虛擬用戶的ID來代替,該ID是由Controller來控制的。但是在VuGen中運(yùn)行時(shí),VuserID將會(huì)是-1。File:需要在屬性設(shè)置中編輯文件,添加內(nèi)容,也可以從現(xiàn)成的數(shù)據(jù)庫(kù)中取數(shù)據(jù)(下面我們將會(huì)介紹)?UserDefinedFunction:從用戶開發(fā)的dll文件提取數(shù)據(jù)。就目前我認(rèn)為,這種方式?jīng)]有必要。VuGen支持C語言的語法,在VuGen中重新編寫類似的函數(shù)應(yīng)該不難。上面的例子中,我們?nèi)‰S機(jī)數(shù)即可。點(diǎn)“Properties-..”按鈕,進(jìn)行屬性設(shè)置窗口添入隨機(jī)數(shù)的取值范圍為(1-50),選擇一種數(shù)據(jù)格式。在“屬性”中有以下幾個(gè)選項(xiàng):EachOccurrence:在運(yùn)行時(shí),每遇到一次該參數(shù),便會(huì)取一個(gè)新的值Eachiteration:運(yùn)行時(shí),在每一次循環(huán)中都取相同的值Once:運(yùn)行時(shí),在每次循環(huán)中,該參數(shù)只取一次值這里我們用的是隨機(jī)數(shù),選擇EachOccurrence非常合適。下面我們?cè)俳榻B用數(shù)據(jù)庫(kù)中的用戶名來參數(shù)化登陸用戶名??蜻x住登陸名,點(diǎn)鼠標(biāo)右鍵,彈出對(duì)話框,選擇“替換為新參數(shù)”彈出對(duì)話框,此時(shí)參數(shù)名輸入:name,參數(shù)類型選擇File,如圖點(diǎn)“屬性”按鈕,出現(xiàn)以下窗口注意:參數(shù)的文件名不要使用con.dat、pm.dat或者lpt*.dat等系統(tǒng)裝置名下面我們將會(huì)連接數(shù)據(jù)庫(kù),從數(shù)據(jù)表中選擇用戶名。點(diǎn)“數(shù)據(jù)向?qū)А卑粹o,顯示如圖使用第2項(xiàng),選擇“使用手動(dòng)指定SQL語句”點(diǎn)下一步,出現(xiàn)如圖窗口添入連接字符串,點(diǎn)“創(chuàng)建”按鈕,選擇事先配置好的ODBC連接。在SQL語句里輸入select查詢語句,出現(xiàn)如圖窗口從哪一行開始取值按列名稱取值提醒:在參數(shù)數(shù)據(jù)顯示區(qū),最多只能看到100行,如果數(shù)據(jù)超過100行,只能點(diǎn)“編輯”按鈕,進(jìn)入記事本看?!斑x擇下一行”有以下幾種選擇:Sequential:按照順序一行行的讀取。每一個(gè)虛擬用戶都會(huì)按照相同的順序讀取Random:在每次循環(huán)里隨機(jī)的讀取一個(gè),但是在循環(huán)中一直保持不變?Unique:唯一的數(shù)。注意:使用該類型必須注意數(shù)據(jù)表有足夠多的數(shù)。比如Controller中設(shè)定20個(gè)虛擬用戶進(jìn)行5次循環(huán),那么編號(hào)為1的虛擬用戶取前5個(gè)數(shù),編號(hào)為2的虛擬用戶取6-10的數(shù),依次類推,這樣數(shù)據(jù)表中至少要有100個(gè)數(shù)據(jù),否則Controller運(yùn)行過程中會(huì)返回一個(gè)錯(cuò)誤?!鞍淳幪?hào)”指選擇列表中的那一列數(shù)據(jù),從左到右分別是1、2、3依次通常用在有關(guān)聯(lián)性的數(shù)據(jù)上面。我們這里取值Sequential即可。完成設(shè)置關(guān)閉即可2.4單機(jī)運(yùn)行測(cè)試腳本經(jīng)過以上的各個(gè)步驟后,腳本就可以運(yùn)行了。運(yùn)行腳本可以通過菜單或者工具欄來操作。執(zhí)行“運(yùn)行”命令后,VuGen先編譯腳本,檢查是否有語法等錯(cuò)誤。如果有錯(cuò)誤,VuGen將會(huì)提示錯(cuò)誤。雙擊錯(cuò)誤提示,VuGen能夠定位到出現(xiàn)錯(cuò)誤的那一行。為了驗(yàn)證腳本的正確性,我們還可以調(diào)試腳本,比如在腳本中加斷點(diǎn)等,操作和在VC中完全一樣,相信大家誰都不會(huì)感到陌生。如果編譯通過,就會(huì)開始運(yùn)行。然后會(huì)出現(xiàn)運(yùn)行結(jié)果。2.5實(shí)施測(cè)試2.5.1選擇腳本,創(chuàng)建虛擬用戶啟用“controller"彈出如圖窗口修改數(shù)量選擇剛才錄制并保存好的腳本,添加到方案中,點(diǎn)“確定”出現(xiàn)如圖根據(jù)需要修改虛擬用戶數(shù)量,這里我們?nèi) ?00”根據(jù)實(shí)現(xiàn)場(chǎng)景設(shè)計(jì),取不同數(shù)字點(diǎn)編輯計(jì)劃”細(xì)化方案,計(jì)劃名里選擇計(jì)劃種類:加壓,緩慢加壓、默認(rèn)計(jì)劃或新建立計(jì)劃。2 默認(rèn)計(jì)劃:同時(shí)加載所有vuser,直到完成2 加壓:每15秒啟動(dòng)2個(gè)vuser持續(xù)時(shí)間5分種2 緩慢加壓::每2分種啟動(dòng)2個(gè)vuser持續(xù)時(shí)間10分種這里我們選擇“加壓”出現(xiàn)如圖單位秒內(nèi)同時(shí)加載幾個(gè)vuser點(diǎn)“加壓”標(biāo)簽設(shè)置加壓方法,點(diǎn)“持續(xù)時(shí)間”標(biāo)簽選擇完成時(shí)間,點(diǎn)“加壓”標(biāo)簽選擇退出方法,點(diǎn)“方案開始時(shí)間”可以定義時(shí)間后自動(dòng)到點(diǎn)執(zhí)行,并在一個(gè)限定的時(shí)間范圍內(nèi)結(jié)束,所有設(shè)置完畢后,點(diǎn)“ok”返回上一級(jí)窗口,點(diǎn)“開始方案”啟動(dòng)運(yùn)行,出現(xiàn)如圖窗口Windows資源監(jiān)視窗口打開可用圖中目錄樹,選擇系統(tǒng)資源找到windows資源2.5.2添加windows資源監(jiān)視窗口loadruner默認(rèn)性能監(jiān)視窗口四個(gè),分別是“運(yùn)行vuser“、”事務(wù)響應(yīng)時(shí)間“、“每秒點(diǎn)擊次數(shù)”最后一個(gè)可以根據(jù)用戶自己選擇現(xiàn)實(shí)什么窗口。打開可用圖中目錄樹,選擇系統(tǒng)資源,找到windows資源雙擊,則windows資源監(jiān)視窗口便自動(dòng)替換原窗口如上圖。當(dāng)然loadrunner/

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論