版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、.,1,負載壓力測試LR工具,.,2,說明,此PPT文檔,只是對負載壓力測試做一個簡單的介紹,并對MI的LoadRunner工具的使用做個入門級的講解。,.,3,負載壓力測試的基本概念,當一個應(yīng)用程序在少量用戶同時使用的時候,程序可能正常運行,但是當大量用戶同時使用的時候,可能就會出現(xiàn)功能失效、性能衰減、甚至系統(tǒng)崩潰。 所以我們壓力測試做的就是測試在什么樣的條件下系統(tǒng)的性能變得不可接受。,.,4,負載壓力測試的實施步驟,測試計劃測試需求分析 測試案例制定測試環(huán)境、工具、數(shù)據(jù)準備測試腳本錄制、編寫與調(diào)試場景指定測試執(zhí)行測試執(zhí)行獲取測試結(jié)果結(jié)果評估與測試報告。 (由于主要是要介紹LR工具的使用,實
2、施步驟的每個環(huán)節(jié)不可能詳細述說,部分略去),.,5,負載壓力測試需求分析原理之8020原理,8020原理測試強度估算 基本概念:每個工作日80的業(yè)務(wù)在20的時間內(nèi)完成。 例如:每天工作8個小時,那么每天80的業(yè)務(wù)在8*201.6小時內(nèi)完成。,舉例,.,6,例1:,去年全年處理業(yè)務(wù)約100萬筆,其中,15的業(yè)務(wù)處理中,每筆務(wù)需對 應(yīng)用服務(wù)器提交7次請求;70的業(yè)務(wù)處理中,每筆業(yè)務(wù)需對應(yīng)用服務(wù)器提交5次請求;其余15的業(yè)務(wù)處理中,每筆業(yè)務(wù)對應(yīng)用服務(wù)器提交3次請求。根據(jù)以往的統(tǒng)計結(jié)果,每年的業(yè)務(wù)增量為15,考慮到今后3年業(yè)務(wù)發(fā)展的需要,測試需按現(xiàn)有業(yè)務(wù)量的兩倍進行。 強度估算如下: 每年的總請求數(shù)為
3、: (100*15*7+100*70*5+100*15*3)*21000萬次/年 每天的請求數(shù)為: 1000/160=6.25萬/天 每秒請求數(shù): (6250080)/(8*20*3600)8.68次 /秒,.,7,測試環(huán)境、工具、數(shù)據(jù)準備,測試環(huán)境準備 我們實驗室的測試環(huán)境與客戶的實際環(huán)境是有較大的不同,我們的網(wǎng)絡(luò),計算機硬件軟件都無法做到和客戶完全相一致。我們的軟件在客戶那功能不正常,也許就是因為客戶安裝 了某個不知名的其他軟件造成的。我們的壓力測試需要遵循一個基本的原則:,.,8,搭建測試環(huán)境的基本原則,要滿足軟件運行的最低要求。 選用與被測軟件相一致的操作系統(tǒng)和軟件平臺。 營造相對獨立
4、的測試環(huán)境。 無毒的環(huán)境。,小建議,.,9,小建議1:,很多朋友在實驗室里做壓力測試,用的服務(wù)器和開發(fā)人員共用一臺。并不是一個獨立的環(huán)境,服務(wù)器的資源其他活動所占用。不能保證測試的有效性。,繼續(xù),.,10,小建議2,為了強調(diào)測試環(huán)境的真實性,很多朋友在客戶的實際環(huán)境執(zhí)行測試,那么要注意: 盡可能地降低對客戶現(xiàn)有業(yè)務(wù)地影響,挑選在夜間或者在客戶業(yè)務(wù)不繁忙地時段進行。 要有很好地備份和恢復(fù)過程。,.,11,測試工具的安裝-LR安裝,具體請看LR的安裝手冊吧,在這里只是提提個小建議,請將LR安裝包路徑和安裝路徑都改成全英文的,很多朋友安裝不上LR的原因很大部分是因為路徑中有中文字符。,系統(tǒng)配置,.,
5、12,.,13,數(shù)據(jù)的準備(小建議4),很多朋友經(jīng)常忽略數(shù)據(jù)的重要性,我們做壓力測試的時候需要有大量的數(shù)據(jù),比如我們測試一個查詢操作,數(shù)據(jù)庫表里就幾行記錄,這樣的測試是失效的。因為該數(shù)據(jù)表沒有建任何索引話,一個全表掃描也花不了什么時間,如果有大量數(shù)據(jù)的話,索引覆蓋的問題都能暴露出來。,.,14,測試腳本的錄制、編寫與調(diào)試,制作腳本如下步驟: 腳本錄制; 查找動態(tài)數(shù)據(jù)(關(guān)聯(lián)); 參數(shù)替換; 布置檢查點; 單腳本回放; 腳本加壓回放;,.,15,利用vugen制作腳本,LR用Vuser(虛擬用戶)來代替實際的用戶。Vuser執(zhí)行的操作是用Vuser腳本來描述的。 Vuser腳本生成器(也稱Vuge
6、n)是LR用于開發(fā)Vuser腳本的主要工具。Vugen通過錄制客戶端與服務(wù)器之間的活動來錄制腳本。例如:在數(shù)據(jù)庫應(yīng)用程序中,測試工具的腳本生成器(Vugen)會監(jiān)控數(shù)據(jù)庫的客戶端,并跟蹤發(fā)送到數(shù)據(jù)庫服務(wù)器和從數(shù)據(jù)庫服務(wù)器接收的所有請求。 當Vuser與服務(wù)器直接通信時,不需要在用戶界面中耗費系統(tǒng)資源,這樣就可以在一個工作站中同時運行大量Vuser,進而可以使用很少的測試計算機來模擬非常大的服務(wù)器負載。,.,16,啟動Vugen,可以從開始菜單中啟動Vugen,選擇開始程序LoadRunnerVirtual User Generator。 打開Vugen后默認設(shè)置會彈出對話框讓選擇錄制協(xié)議,新建
7、Vuser腳本。如果想每次啟動時不再出現(xiàn)那該死的對話框,可以在toolsGeneral Options里面設(shè)置。如圖:,如圖,.,17,示例,.,18,選擇協(xié)議,C/S(Client/Server)結(jié)構(gòu)的win32應(yīng)用程序一般可以選用winsocket協(xié)議。 B/S(Browers/Server)結(jié)構(gòu)的通過瀏覽器瀏覽數(shù)據(jù)的一般選用Web(Http/Html)協(xié)議。,.,19,.,20,選擇好協(xié)議后就開始錄制腳本了 。以winsocket為例; 我們要調(diào)取客戶端的應(yīng)用程序。(默認設(shè)置下)點擊OK按鈕后就開始錄制了。 如圖:,如圖,.,21,.,22,為什么錄制后的沒有產(chǎn)生腳本?,答:1,選擇協(xié)議
8、錯誤。 2,如果服務(wù)器和vugen在同一臺電腦上的話,必須更改設(shè)置,因為在默認下是排除本地主機和Dns端口的套接字的。在ToolsRecording Option下,如圖:,.,23,Vuser的腳本,對于Vuser腳本,我們必須要了解它的組成和事務(wù)、集合點、檢查點的概念。 以下的內(nèi)容將對這些概念和具體的使用做闡述。,.,24,Vuser腳本的三個部分,這里我們簡單講講Vuser腳本的三個部分: 創(chuàng)建的每個 Vuser 腳本都至少包含三部分:vuser_init、一個或多個 Actions 及 vuser_end。錄制期間,可以選擇腳本中 VuGen 要插入已錄制函數(shù)的部分。通常情況下,可以將
9、登錄到服務(wù)器的活動錄制到 vuser_init 部分中、將客戶端活動錄制到 Actions 部分中,并將注銷過程錄制到 vuser_end 部分中。 運行多次迭代腳本,只有腳本的Actions部分被重復(fù),而Vuser _init和Vuser_end部分只運行一次。 如果我們測試的只是登錄操作,需要登錄操作循環(huán)被執(zhí)行。那么我們也可以將登錄操作錄制在action中。,.,25,事務(wù)和集合點,可以定義事務(wù)以度量服務(wù)器的性能。每個事務(wù)度量服務(wù)器響應(yīng)指定的 Vuser 請求所用的時間。這些請求可以是簡單任務(wù) (例如等待對單個查詢的響應(yīng)),也可以是復(fù)雜任務(wù) (例如提交多個查詢和生成報告)。 要度量事務(wù),需
10、要插入 Vuser 函數(shù)以標記任務(wù)的開始和結(jié)束。在腳本內(nèi),可以標記的事務(wù)不受數(shù)量限制,每個事務(wù)的名稱都不同。 在方案執(zhí)行期間, Controller 將度量執(zhí)行每個事務(wù)所用的時間。方案運行后,可使用 LoadRunner 的圖和報告來分析各個事務(wù)的服務(wù)器性能。 要在系統(tǒng)上模擬較重的用戶負載,需要同步各個 Vuser 以便在同一時刻執(zhí)行任務(wù)。通過創(chuàng)建集合點,可以確保多個 Vuser 同時執(zhí)行操作。當某個 Vuser 到達該集合點時, Controler 會將其保留,直到參與該集合的全部 Vuser 都到達。當滿足集合條件時, Controler 將釋放 Vuser。,注意,.,26,注意:只能向
11、 Action 部分 (而不是 init 或 end 部分)添加集合點。,.,27,錄制腳本的時候會產(chǎn)生如下圖所示的控制面板:,小建議,.,28,小建議5,很多朋友錄制腳本的時候,會使用LR的默認設(shè)置,把腳本錄制到Vuser_init中,等錄制完成后,再將腳本剪切粘貼到actions和Vuser_end部分中去。這是個不可取的做法,我們在錄制的過程中,就應(yīng)該通過上圖所示的控制面板調(diào)節(jié)我們錄制的操作到腳本的哪個部分。,繼續(xù),.,29,小建議6,錄制C/S結(jié)構(gòu)的腳本,操作動作多,數(shù)據(jù)交換量大,生成的腳本會非常的大,根本無法搞請清楚每一個BUF的具體內(nèi)容。這給我們維護和增強腳本帶來了困難。所以在錄制
12、的時候,我們要加必要的注釋。并且以操作名來命名事務(wù)。如:我們錄制腳本時打開了一個模塊,是一個表,確定按鈕的按鈕事件是在數(shù)據(jù)表中新增一條記錄。那么我們在沒有點擊按鈕之前先設(shè)置開始事務(wù),名稱為新增記錄;如圖:,.,30,.,31,當新增完成后,我們要結(jié)束事務(wù);,.,32,Winsocket協(xié)議的腳本節(jié)選如下: lrs_send(socket1, buf7, LrsLastArg); /* * 進入新增界面 */ lrs_receive(socket1, buf8, LrsLastArg); lrs_send(socket1, buf9, LrsLastArg); lrs_receive(socke
13、t1, buf10, LrsLastArg); lrs_send(socket1, buf11, LrsLastArg); /* * 進入查詢界面 */ lrs_receive(socket1, buf12, LrsLastArg); lrs_send(socket1, buf13, LrsLastArg);,.,33,我們可以看到winsocket協(xié)議錄制的腳本都是lrs_receive和lrs_send語句。我們在錄制的時候就加上注釋,我們就知道大概這些buf記錄的是些什么內(nèi)容。方便我們閱讀,也使接下來要做的查找動態(tài)數(shù)據(jù)和參數(shù)化腳本來得容易些。,.,34,查找動態(tài)數(shù)據(jù)(關(guān)聯(lián)),我們的系統(tǒng)經(jīng)
14、常會有些動態(tài)的數(shù)據(jù),如新增記錄之前系統(tǒng)會給一個流水號,我們的腳本在錄制的時候捕獲了這個號碼,但是每次新增流水號肯定不同,拿腳本中的原始流水號去新增記錄,肯定違反數(shù)據(jù)表的主鍵約束 。如果我們在receive的包中找到那個流水號,并把它作為參數(shù)給send包,那么問題就迎刃而解了,這就是關(guān)聯(lián)(其實也是一種參數(shù)化),.,35,關(guān)聯(lián)太煩了,等會再講,我們先來了解一下Vuser腳本的兩種查看方式:Script View和Tree View。我們通過View菜單條Script View和Tree View 來切換。基于圖標的Tree View和基于文本的script View有各自的作用。 注意: 你在Tr
15、ee View模式下點擊Start Record 是會出錯的。只能在Script View下來錄制腳本。 如果你在查看data.ws文件,那么Vugen將不允許你切換到Tree View模式下。,.,36,Data.ws文件是winsocket協(xié)議下腳本保存原始數(shù)據(jù)的地方。我們想要做關(guān)聯(lián),首先就是要在recv buf中找到服務(wù)器返回的動態(tài)數(shù)據(jù),下圖為在Tree View下,快照中找到動態(tài)數(shù),將其參數(shù)化后,使得以后測試中,send buf中使用截獲的數(shù)據(jù)。,.,37,.,38,我們?nèi)绻胫榔屏浚敲袋c擊go to offset,如下圖所示:,.,39,如果要建立關(guān)聯(lián)的話,點擊create P
16、arameter.它會將send buffer中的相同字符串自動參數(shù)化,使其與該recv buffer中的值相同,如圖:,.,40,參數(shù)化,在腳本中,框選要參數(shù)的字符,右擊鼠標,選擇替換為參數(shù)就可以了。用登錄時參數(shù)化用戶名和密碼的例子來說明如何同步兩個參數(shù),即一一對應(yīng):,.,41,.,42,.,43,如何調(diào)試腳本?,錄制好腳本,并參數(shù)化后,我們還得確定腳本是能正常運行的,是可以模擬用戶操作的,我們腳本很少能錄制好后,參數(shù)化好腳本后回放時就沒有錯誤的,出錯時我們需要調(diào)試,LR的編譯器提供調(diào)試腳本的功能。我們可以調(diào)試和優(yōu)化我們的腳本。,.,44,設(shè)置斷點,LR也是可以設(shè)置斷點的,在需要設(shè)置斷點的語句前按F9快捷鍵,斷點就設(shè)置好了,程序運行到斷點語句后會暫停,這時我們可以用F10單步執(zhí)行程序.,.,45,寫log,只是設(shè)置斷點是不夠的,我們還得知道具體發(fā)生了什么事情,Log告訴了我們一切,默認的Log是 standard Log,這時遠遠不夠的.我們要extended log,打開路徑 為runtime settings-log-extended log.把parameter substitution和data returned by server和advanced trace根據(jù)需要勾選
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 北京招聘考試題庫及答案
- 2025年自學英文真題試卷及答案
- 消防安全課件幼兒園小班
- 2026年遼寧鐵道職業(yè)技術(shù)學院單招職業(yè)適應(yīng)性測試模擬試題及答案解析
- 2025年物理高考模擬試題及答案
- 中國奧賽生物題庫及答案
- 培訓總結(jié)課件圖片素材
- 麻疹醫(yī)護人員培訓課件
- 2025年高職教師招聘試卷及答案
- 2025年茶葉經(jīng)營管理試卷及答案
- 制鞋工人崗位培訓
- 黑龍江省哈爾濱市2025-2026學年九年級上學期期中語文試題(含答案及解析)
- 購物中心應(yīng)急預(yù)案流程圖
- 離婚協(xié)議(2026年版本)
- 8.1堅守公平 課件 2025-2026學年統(tǒng)編版道德與法治 八年級上冊
- 安全員c證考試真題庫及答案
- 舟山事業(yè)編考試題及答案
- 2025年中小學生趣味百科知識競賽題庫及答案
- 2025年低空經(jīng)濟行業(yè)碳排放與環(huán)境影響報告
- 銀行理財經(jīng)理先進工作事跡材料
- git內(nèi)部培訓課件
評論
0/150
提交評論