Web應(yīng)用的壓力測試-loadrunner_第1頁
Web應(yīng)用的壓力測試-loadrunner_第2頁
Web應(yīng)用的壓力測試-loadrunner_第3頁
Web應(yīng)用的壓力測試-loadrunner_第4頁
Web應(yīng)用的壓力測試-loadrunner_第5頁
已閱讀5頁,還剩111頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

LoadRunner性能測試工具,VirtualUserGenerator虛擬用戶生成器Controller場景控制器Analysis性能分析器,重點(diǎn),第一部分,創(chuàng)建基于Web應(yīng)用的自動化壓力測試,第二部分,高級應(yīng)用:問題和解決方案,腳本錄制和回放,常見問題及解決方案,數(shù)據(jù)歸屬關(guān)系,動態(tài)變量,制定計(jì)劃,錄制腳本,定制事務(wù),參數(shù)化,增加檢查點(diǎn),設(shè)計(jì)測試場景,系統(tǒng)性能調(diào)優(yōu),LoadRunner工作流程,NOTE:這是LR的一個典型工作流程。為便于理解這個流程,有些步驟將按照不同的順序來介紹。,NOTE:“Actionfiles”將在下面討論,關(guān)鍵詞,NOTE:我們會頻繁的提到這個關(guān)鍵詞,關(guān)鍵詞,壓力測試方案制定,目標(biāo),壓力測試前需要搜集和準(zhǔn)備哪些資料這些資料可以從什么地方獲取這些資料的組織技巧在制定測試方案時如何運(yùn)用這些資料,LoadRunner工作流程,1.1獲得系統(tǒng)使用信息,目的:確認(rèn)需要模擬的業(yè)務(wù)流程的優(yōu)先級為實(shí)施壓力測試提供必要的信息,可以從下列文件中獲得和顯示系統(tǒng)使用信息:任務(wù)分配圖事務(wù)統(tǒng)計(jì)文件用戶統(tǒng)計(jì)文件,系統(tǒng)使用信息的分析,任務(wù)分配圖有哪些任務(wù)?同一時間內(nèi)有多少次操作?事務(wù)統(tǒng)計(jì)文件事務(wù)平均值、和峰值是多少?數(shù)據(jù)庫連接是多少?如果任務(wù)失敗會產(chǎn)生多少業(yè)務(wù)風(fēng)險?用戶統(tǒng)計(jì)文件每個真實(shí)用戶會執(zhí)行多少任務(wù)?不同任務(wù)在每個真實(shí)用戶中的分配比例?,獲得系統(tǒng)使用信息案例1,網(wǎng)上書店(一天,幾千用戶),瀏覽購物,*非Web任務(wù),例:任務(wù)分配圖,內(nèi)部訂單處理流程(高峰日,600用戶),獲得系統(tǒng)使用信息案例1,*非Web任務(wù),例:任務(wù)分配圖,獲得系統(tǒng)使用信息案例1,哪些業(yè)務(wù)流程可以進(jìn)行自動化測試?,選擇標(biāo)準(zhǔn):,事務(wù)統(tǒng)計(jì)文件,獲得系統(tǒng)使用信息案例1,決定哪些業(yè)務(wù)流程能夠執(zhí)行自動化測試了解哪些業(yè)務(wù)是相互關(guān)聯(lián)的(數(shù)據(jù)關(guān)聯(lián)),確定每天的壓力峰值的時間峰值持續(xù)時間每月、每季度或每年壓力峰值的天數(shù)決定需要模擬的業(yè)務(wù)流程和用戶,信息的使用,獲得系統(tǒng)使用信息案例2,大部分項(xiàng)目是沒有明確性能需求,只是要求做性能測試,沒有具體測試要求,公司各項(xiàng)目現(xiàn)狀:,這種情況要怎么獲取業(yè)務(wù)流程?,1、系統(tǒng)的主要業(yè)務(wù)流程2、系統(tǒng)使用頻率比較高的業(yè)務(wù)流程3、大數(shù)據(jù)量的業(yè)務(wù)流程,獲得系統(tǒng)使用信息案例2,并發(fā)用戶的計(jì)算方法:,(1)計(jì)算平均的并發(fā)用戶數(shù):C=nL/T(2)并發(fā)用戶數(shù)峰值:CC+3根號C公式(1)中,C是平均的并發(fā)用戶數(shù);n是loginsession的數(shù)量;L是loginsession的平均長度;T指考察的時間段長度。公式(2)則給出了并發(fā)用戶數(shù)峰值的計(jì)算方式中,其中,C指并發(fā)用戶數(shù)的峰值,C就是公式(1)中得到的平均的并發(fā)用戶數(shù)。該公式的得出是假設(shè)用戶的loginsession產(chǎn)生符合泊松分布而估算得到的。實(shí)例:假設(shè)有一個OA系統(tǒng),該系統(tǒng)有3000個用戶,平均每天大約有400個用戶要訪問該系統(tǒng),對一個典型用戶來說,一天之內(nèi)用戶從登錄到退出該系統(tǒng)的平均時間為4小時,在一天的時間內(nèi),用戶只在8小時內(nèi)使用該系統(tǒng)。則根據(jù)公式(1)和公式(2),可以得到:C=400*4/8=200C200+3*根號200=242,LoadRunner工作流程,總結(jié),搜集和分析系統(tǒng)使用信息任務(wù)分配圖事務(wù)統(tǒng)計(jì)文件準(zhǔn)備Web應(yīng)用的業(yè)務(wù)邏輯文檔確定可以執(zhí)行自動化測試的業(yè)務(wù)流程,創(chuàng)建虛擬用戶ACTIONFILES,目標(biāo),基于測試方案設(shè)計(jì)“Vuser”,創(chuàng)建“actionfile”,回放“Vuser”和檢查運(yùn)行結(jié)果,關(guān)鍵字,VuGen獲取HTTP協(xié)議創(chuàng)建虛擬用戶,WEB服務(wù)器,數(shù)據(jù)庫服務(wù)器,WEB瀏覽器,公網(wǎng)/外網(wǎng)/內(nèi)網(wǎng),HTTP,VuGen,LoadRunner工作流程,錄制用戶操作腳本,啟動VuGen工具,點(diǎn)擊“錄制”按鈕,輸入URL,選擇“OK”,錄制用戶操作腳本,啟動VuGen工具,點(diǎn)擊“錄制”按鈕,輸入URL,選擇“OK”,錄制用戶操作腳本-簡單說明,VuGen中的腳本分為三部分:vuser_init、vuser_end和Action其中vuser_init和vuser_end都只能存在一個,不能再分割,而Action還可以分成無數(shù)多個部分(通過點(diǎn)擊New按鈕,新建ActionXXX)在錄制需要登陸的系統(tǒng)時,我們把登陸部分放到vuser_init中,把登陸后的操作部分放到Action中,把注銷關(guān)閉登陸部分放到vuser_end中,如果需要在登陸操作設(shè)集合點(diǎn),那么登陸操作也要放到Action中,因?yàn)関user_init中不能添加集合點(diǎn),在重復(fù)執(zhí)行測試腳本時,vuser_init和vuser_end中的內(nèi)容只會執(zhí)行一次,重復(fù)執(zhí)行的只是Action中的部分。,Optionalitem,1基于瀏覽器的應(yīng)用程序推薦使用HTML-basedScript2不是基于瀏覽器的應(yīng)用程序推薦使用URL-basedScript。3如果基于瀏覽器的應(yīng)用程序中包含了JavaScript并且該腳本向服務(wù)器產(chǎn)生了請求,比如分頁按鈕等,也要使用URL-based方式錄制4基于瀏覽器的應(yīng)用程序中使用了HTTPS安全協(xié)議,使用URL-based方式錄,錄制用戶操作腳本,執(zhí)行一個業(yè)務(wù)流程登錄-訂飛機(jī)票,VirtualUser回放模式,關(guān)于用戶操作文件,每一步表式一個操作用戶的實(shí)際操作一個LoadRunner的“事務(wù)*”或者是“確認(rèn)檢查點(diǎn)*”,*NOTE:“事務(wù)”和“檢查點(diǎn)”將在后續(xù)課程中討論,每一步都有一個圖標(biāo)表示,ThinkTimes,模擬用戶在實(shí)際操作時使用的時間,錄制過程中由VuGen插入,*在controller中,默認(rèn)狀態(tài)是“Playthinktimesasrecorded.”,LoadRunner工作流程,這一步在上述每個階段完成后都要執(zhí)行一次,虛擬用戶“Run-time”設(shè)置,建立一個結(jié)果日志文件將日志記錄方式設(shè)置為標(biāo)準(zhǔn),“Run-Time”設(shè)置,回放ActionFile,點(diǎn)擊工具欄上圖標(biāo),確認(rèn)虛擬用戶正確執(zhí)行,確認(rèn)虛擬用戶正確執(zhí)行,查看測試結(jié)果,確認(rèn)虛擬用戶正確執(zhí)行,切換到日志執(zhí)行窗口,日志順序顯示每一步的執(zhí)行和結(jié)果,檢查執(zhí)行日志,總結(jié),用戶所有的業(yè)務(wù)操作都記錄在“ActionFiles”中登陸和退出操作可以不包括在“ActionFiles”多個“ActionFiles”可以由一個虛擬用戶執(zhí)行通過菜單中的“OptionsSettings”和“Run-TimeSettings”來控制虛擬用戶的操作。可以在“執(zhí)行日志”和“ResultFile”中查看回放結(jié)果,創(chuàng)建虛擬用戶:事務(wù),目標(biāo),“actionfile”的哪些地方需要加入事務(wù)如何執(zhí)行LoadRunner事務(wù),在“actionfile”中使用事務(wù)的重要性,LoadRunner中的事務(wù)的含義,LoadRunner工作流程,關(guān)鍵詞,為什么在LoadRunner中加Transactions?,“Transactions”是LoadRunner度量系統(tǒng)性能指標(biāo)的唯一手段用于度量高風(fēng)險業(yè)務(wù)流程的性能指標(biāo)能夠度量在一組操作中每一步的性能指標(biāo)實(shí)現(xiàn)了不同壓力負(fù)載下的性能指標(biāo)對比幫助定位性能瓶頸,Transactions是度量什么的?,“LoadRunnertransaction”用于度量一個或者多個業(yè)務(wù)流程的性能指標(biāo),建立LoadRunnerTransactions,度量登陸,Transaction1,Transaction2,度量所有登陸后的操作,Transaction3,度量訂單保存一個基于數(shù)據(jù)庫的操作,也是一個主要的“LoadRunnertransaction”,例子,增加Transactions,點(diǎn)擊工具欄上StartTransaction圖標(biāo),輸入Transaction名稱,點(diǎn)擊OK,錄制過程中,增加Transactions,選擇工具欄上的相應(yīng)按鈕,增加事務(wù)的步驟和錄制過程中是一致的,錄制完成后,LoadRunner工作流程,AutomaticTransactions,比較整個業(yè)務(wù)流程內(nèi)的各個步驟的性能指標(biāo),度量每一步的性能指標(biāo),比較各個步驟之間的性能指標(biāo),總結(jié),使用LoadRunner事務(wù)可以度量:業(yè)務(wù)流程中每一步所花費(fèi)的時間整個業(yè)務(wù)流程所花費(fèi)的時間業(yè)務(wù)流程中每一步的性能指標(biāo)可以自動度量可以在錄制過程中和錄制完成后增加LoadRunner事務(wù)利用“automaticLoadRunnertransactions”可以很方便的度量每一步的性能指標(biāo),創(chuàng)建虛擬用戶:參數(shù)化,目標(biāo),參數(shù)化的好處如何進(jìn)行參數(shù)化如何使用數(shù)據(jù)文件,腳本回放中可能會遇到的問題,問題,所有虛擬用戶輸入相同數(shù)據(jù),虛擬用戶回放失敗由于沒有模擬真實(shí)條件,測試結(jié)果失去意義,所有虛擬用戶輸入相同的數(shù)據(jù),解決方法,參數(shù)化,所有虛擬用戶輸入相同數(shù)據(jù),所有虛擬用戶輸入相同數(shù)據(jù),關(guān)鍵詞,LoadRunner工作流程,確定參數(shù)化字段,哪些字段需要一個當(dāng)前時間?哪些字段要求是一個唯一值?哪些字段來自數(shù)據(jù)庫?哪些字段的值受其他字段的約束?,參數(shù)化的決策,對于每一個字段,都要問一下.,是否需要當(dāng)前時間?,是否能從緩存中獲得?,參數(shù)化,參數(shù)化,參數(shù)化,是否需要唯一性約束?,是否受其他字段的約束?,參數(shù)化,不需要參數(shù)化,LoadRunner工作流程,10/26/1999040498MondayTrueSmith,Wm.$230.59,準(zhǔn)備測試數(shù)據(jù),獲得主要數(shù)據(jù)從數(shù)據(jù)庫提取,創(chuàng)建合法的業(yè)務(wù)流程數(shù)據(jù)確定數(shù)據(jù)類型通過業(yè)務(wù)專家獲得,數(shù)據(jù)庫服務(wù)器,從數(shù)據(jù)庫提取數(shù)據(jù),Willamette,169.00,12/12/99,C044,100345,48449,LoadRunner工作流程,關(guān)鍵字,參數(shù)化數(shù)據(jù),2.右鍵單擊該步驟,1.定位需要參數(shù)化的數(shù)據(jù)(在測試方案階段應(yīng)該已經(jīng)完成),3.選擇“Properties”,打開需要參數(shù)化的數(shù)據(jù)的屬性對話框,參數(shù)化數(shù)據(jù),1.單擊需要參數(shù)化的數(shù)據(jù),2.輸入一個參數(shù)名稱(或者從下拉框中選擇),3.確認(rèn)參數(shù)類型為File,創(chuàng)建一個參數(shù),參數(shù)化數(shù)據(jù),1.單擊“Properties”按鈕,2.單擊“Create”按鈕并確認(rèn)數(shù)據(jù)文件已經(jīng)被創(chuàng)建,打開參數(shù)化對話框,參數(shù)化數(shù)據(jù),選擇“Edit”按鈕,文件會被寫字板打開,Parameter.dat文件回保存在VUser的目錄下,打開數(shù)據(jù)文件,參數(shù)化數(shù)據(jù),在寫字板窗口輸入新數(shù)據(jù),每輸入一行數(shù)據(jù)后都要按回車鍵,參數(shù)名,保存數(shù)據(jù)并關(guān)閉寫字板,添加數(shù)據(jù)到文件,參數(shù)化數(shù)據(jù),表中的數(shù)據(jù)就是文件中的數(shù)據(jù),可以顯示同一個數(shù)據(jù)文件中的多列數(shù)據(jù),文件中的數(shù)據(jù)將顯示在參數(shù)化屬性對話框,選擇數(shù)據(jù)讀取方式,順序隨機(jī)唯一同其他行一樣,選擇數(shù)據(jù)更新方式,每次循環(huán)時更新每次發(fā)生時更新只更新一次,數(shù)據(jù)替換方式詳解-Sequential,EachIteration,EachOccurrence,Once,數(shù)據(jù)替換方式詳解-Unique,EachIteration,EachOccurrence,Once,數(shù)據(jù)替換方式詳解-Random,EachIteration,EachOccurrence,Once,LoadRunner工作流程,確認(rèn)正確執(zhí)行,對于順序替換方式,循環(huán)數(shù)應(yīng)該和數(shù)據(jù)行數(shù)相同,Run-TimeSettings-Iterations,確認(rèn)正確執(zhí)行Run-TimeSettings-Log,選擇擴(kuò)展日志,選中Parametersubstitution,確認(rèn)正確執(zhí)行ExecutionLog,參數(shù)化數(shù)據(jù)的替換過程將會在執(zhí)行日志中顯示,總結(jié),參數(shù)化的目的:解決數(shù)據(jù)唯一性約束解決當(dāng)前時間約束給服務(wù)器施加預(yù)期的壓力處理數(shù)據(jù)的相互約束準(zhǔn)備輸入數(shù)據(jù):來自數(shù)據(jù)庫來自業(yè)務(wù)專家通過“Run-TimeSettings”控制虛擬用戶的執(zhí)行日志循環(huán)數(shù),場景:建立,運(yùn)行和分析測試結(jié)果,完整壓力測試的組成部分,目標(biāo),如何創(chuàng)建和運(yùn)行一個LoadRunner場景LoadRunner場景的執(zhí)行過程如何分析測試結(jié)果,關(guān)鍵字,Scenario結(jié)構(gòu)示意圖,LoadRunner工作流程,Controller窗口中的“運(yùn)行”選項(xiàng)卡是用來管理和監(jiān)控測試的控制中心?!斑\(yùn)行”視圖包含五個主要部分:場景組,場景狀態(tài),可用圖樹,圖查看區(qū)域和圖例。,場景組:位于左上窗格中,可以查看場景組中的Vuser的狀態(tài)。使用該窗格右側(cè)的按鈕可以啟動、停止和重置場景,查看單個Vuser的狀態(tài),并且可以手動添加更多的Vuser,從而增加場景運(yùn)行期間應(yīng)用程序上的負(fù)載。場景狀態(tài):位于右上窗格中,可以查看負(fù)載測試的概要,其中包括正在運(yùn)行的Vuser數(shù)以及每個Vuser操作的狀態(tài)??捎脠D樹:位于中部左側(cè)窗格中,可以查看LoadRunner圖列表。要打開圖,請?jiān)谠摌渲羞x擇一個圖,然后將其拖動到圖查看區(qū)域中。圖查看區(qū)域:位于中部右側(cè)窗格中,可以自定義顯示以查看一至八個圖(“View”“ViewGraphs”)。圖例:位于底部窗格中,可以查看選定圖中的數(shù)據(jù)。,Controller創(chuàng)建場景-Controller運(yùn)行窗口概述,LoadRunnerController,場景執(zhí)行前場景設(shè)計(jì)設(shè)置“run-timeconfiguration”場景執(zhí)行期間運(yùn)行大量并發(fā)用戶控制每個虛擬用戶(初始化,運(yùn)行,暫停,停止)顯示每個虛擬用戶的狀態(tài)顯示每個虛擬用戶發(fā)出信息監(jiān)控服務(wù)器資源場景執(zhí)行完畢搜集性能數(shù)據(jù)運(yùn)行結(jié)果分析工具協(xié)助系統(tǒng)性能調(diào)優(yōu),Controller負(fù)責(zé)控制Vusers,RemoteCommandLauncher,Controller,Hostmachine,Initialize,Vusers,Run,Stop,Agent,添加虛擬用戶VusersTaboftheController,ControllerTabs,Designtab場景設(shè)計(jì)區(qū),主要包括:調(diào)度編輯虛擬用戶生成機(jī)虛擬用戶控制運(yùn)行時設(shè)置,ControllerTabs,Runtab場景執(zhí)行區(qū),主要包括:虛擬用戶控制監(jiān)控資源設(shè)置實(shí)時監(jiān)控顯示,LoadRunner工作流程,場景執(zhí)行過程,場景目標(biāo),具體含義,并發(fā)用戶數(shù),運(yùn)行一個場景,1確認(rèn)所有測試機(jī)上的Agent已經(jīng)啟動2確定保存測試結(jié)果的目錄3初始化Vusers4運(yùn)行Vusers,確認(rèn)場景中的虛擬用戶均能正常運(yùn)行,概要分析,場景執(zhí)行過程,場景目標(biāo),并發(fā)用戶數(shù),具體含義,關(guān)鍵字,TopTimetransactionsRun-timeSettings,ContentCheck,Log,點(diǎn)擊Enableverificationchecks,選擇Standardlog,點(diǎn)擊Defineeachactionasatransaction點(diǎn)擊Defineeachstepasatransaction,Miscellaneous,AutomaticTransactions只在LoadRunnerController的圖表和報(bào)告中體現(xiàn),VuGen的ExecutionLog不體現(xiàn).,TopTimetransactions增加新的圖表,TopTimetransactionsTransactionResponseTime-Percentile,“Action1_Transaction”度量的是整個的業(yè)務(wù)流程,因此“TopTimeTransactions”是“create_reservation”。,Action1_Transaction,create_reservation,場景執(zhí)行過程,場景目標(biāo),并發(fā)用戶數(shù),具體含義,滿載壓力測試設(shè)置監(jiān)控選項(xiàng),選擇發(fā)送錯誤消息到輸出窗口(否則彈出對話框?qū)袛噙\(yùn)行),滿載壓力測試設(shè)置監(jiān)控工具,nmon資源統(tǒng)計(jì)工具:,Network,BrowserEmulation,checkEmulatemodemspeed,andenterexpectedspeed,checkSimulatebrowsercachecheckDownloadnon-HTMLresources,滿載壓力測試RuntimeSettings,Log,selectDisablelogging,checkDefineeachactionasatransactioncheckDefineeachstepasatransaction,Miscellaneous,寫日志也會占用系統(tǒng)資源,因此會導(dǎo)致測試結(jié)果不夠準(zhǔn)確。,更加逼真的模擬實(shí)際工作環(huán)境,盡管內(nèi)容檢查非常有用,但是在壓力測試中并不是必須的。,ContentCheck,uncheckEnableverificationchecks,滿載壓力測試WebServer資源圖表,流量,點(diǎn)擊分析總結(jié)報(bào)告中的鏈接,打開相應(yīng)的圖表。,滿載壓力測試WebServer資源圖表,每秒點(diǎn)擊率,滿載壓力測試TransactionsGraph,每秒事務(wù)數(shù),滿載壓力測試TransactionsGraph,網(wǎng)站響應(yīng)時間:

溫馨提示

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

評論

0/150

提交評論