




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、.1 性能測試技術交流.2主要內容一、性能測試的基本概念二、性能測試流程三、LoadRunner操作介紹四、測試結果分析.3一、 性能測試的基本概念 .4什么是軟件性能n用戶視覺的軟件性能: 軟件性能就是軟件對用戶操作的響應時間。n管理員視角的軟件性能: 軟件性能首先表現(xiàn)在系統(tǒng)的響應時間,其次還會關心系統(tǒng)狀態(tài)的相關信息。n開發(fā)視角的軟件性能: 最關注的是使性能表現(xiàn)不佳的因素和由于大量用戶訪問引起的軟件故障,也就是我們所說的性能瓶頸。 .5性能測試的常用方法n1 性能測試n2 負載測試n3 壓力測試.6測試方法基本概念n性能測試 通過模擬生產運行的業(yè)務壓力量和使用場景組合,測試系統(tǒng)的性能是否滿足
2、生產性能要求。 特點: 這種方法的主要目的是驗證系統(tǒng)是否具有系統(tǒng)宣稱具有的能力。.7測試方法基本概念n負載測試 通過在被測系統(tǒng)上不斷增加壓力,直到性能指標。如通過量,響應時間,資源利用率等。 特點: 這種方法的主要目的是找到系統(tǒng)處理能力的極限, 用這種方法可以比較系統(tǒng)調優(yōu)前后的性能差異。.8測試方法基本概念n壓力測試 壓力測試是指系統(tǒng)在一定飽和狀態(tài)下(CPU:75%,內存:70%),例如CPU,內存等在飽和使用情況下,系統(tǒng)能夠處理的會話能力,以及系統(tǒng)是否出現(xiàn)錯誤。 其中,JVM的可用內存,數(shù)據(jù)庫的連接數(shù),數(shù)據(jù)庫服務器的CPU利用率等都可以做為壓力的依據(jù)。 特點: 這種方法的主要目的是檢查系統(tǒng)處
3、于壓力情況下,應用的表現(xiàn),一般用于測試系統(tǒng)的穩(wěn)定性。.9軟件性能測試的幾個主要術語n響應時間:應用系統(tǒng)從請求發(fā)出開始到客戶端收到最后一個字節(jié)數(shù)據(jù)所消耗的時間n并發(fā)用戶數(shù):登錄到系統(tǒng)中進行業(yè)務操作的總用戶數(shù)。服務器實際承受的壓力不只取決于業(yè)務并發(fā)用戶數(shù),還取決于用戶的業(yè)務場景。n吞吐量: 指單位時間內系統(tǒng)處理的客戶請求的數(shù)量,直接體現(xiàn)了軟件系統(tǒng)的性能承受能力。n性能計數(shù)器:描述服務器或操作系統(tǒng)性能的一些數(shù)據(jù)指標。n思考時間:指的是用戶在進行操作時,每個請求之間的間隔時間,因為用戶在使用系統(tǒng)時,不大可能持續(xù)不斷地發(fā)出請求。 .10 二、性能測試流程.11設計測試計劃n在性能測試正式開展之前,需要針
4、對本次性能測試設計測試方案。n測試方案的內容主要包括:n項目背景n性能測試需求n測試環(huán)境信息n性能測試場景n測試實施計劃n參與人員以及職責.12測試環(huán)境、工具、數(shù)據(jù)準備n測試環(huán)境準備 我們的測試環(huán)境與客戶的實際環(huán)境是有較大的不同,測試環(huán)境的網絡、計算機硬件軟件都無法做到和客戶完全相一致。軟件在客戶那功能不正常,也許就是因為客戶安裝了某個不知名的其他軟件造成的。因此壓力測試需要遵循一些基本的原則:.13搭建測試環(huán)境的基本原則n要滿足軟件運行的最低要求。n選用與被測軟件相一致的操作系統(tǒng)和軟件平臺。n營造相對獨立的測試環(huán)境。n無病毒的環(huán)境。.14測試環(huán)境建議 因為在測試過程中比較重視測試環(huán)境的“真實
5、性”,所以在客戶的實際環(huán)境執(zhí)行測試,需注意以下幾點: 1)盡可能地降低對客戶現(xiàn)有業(yè)務地影響,挑選在夜間 或者在客戶業(yè)務不繁忙的時段進行性能。 2)測試過程中會產生大量數(shù)據(jù)或因為系統(tǒng)故障導致數(shù) 據(jù)被破壞,要有很好地備份和恢復過程。 3)若是在公司內部進行性能測試,盡量避免一臺服務 器上裝多個應用,盡量少的人使用被測試服務器, 這樣可以減少其它因素給系統(tǒng)性能帶來的影響。.15數(shù)據(jù)的準備 在做性能測試時比較容易忽略數(shù)據(jù)的重要性,實際上后臺數(shù)據(jù)庫中數(shù)據(jù)量的多少會影響壓力測試的結果。比如我們測試一個查詢操作,數(shù)據(jù)庫表里就幾行記錄,這樣的測試是失效的。因為即使該數(shù)據(jù)表沒有建任何索引話,一個全表掃描也花不了
6、什么時間,如果有大量數(shù)據(jù)的話,索引覆蓋的問題都能暴露出來。 因此在做壓力測試時要清楚數(shù)據(jù)庫中數(shù)據(jù)量的大小,具體需要多少數(shù)據(jù)量可以根據(jù)客戶數(shù)據(jù)庫中的數(shù)據(jù)數(shù)量進行模擬,否則測試結果會與客戶實際情況有一定的差距。.16測試腳本的錄制、編寫與調試制作腳本如下步驟:n腳本錄制,錄制過程中插入事務,插入集合點;n查找動態(tài)數(shù)據(jù)(關聯(lián));n參數(shù)替換;n添加檢查點;n單腳本回放;1)腳本加壓回放;.17 三、LoadRunner操作介紹.18LoadRunner常用組件nVirtual User Generator(虛擬用戶腳本生成器):用于捕獲最終用戶業(yè)務流程和創(chuàng)建自動性能測試腳本(也稱為虛擬用戶腳本)。 n
7、Controller: 用于組織、驅動、管理和監(jiān)控負載測試 n負載生成器:用于通過運行虛擬用戶生成負載nAnalysis: 有助于您查看、分析和比較性能結果.19LoadRunner相關術語n1)場景場景 場景是一種文件,用于根據(jù)性能要求定義在每一個測試會話運行期間發(fā)生的事件。n2)VuserVuser 在場景中,LoadRunner用虛擬用戶或Vuser代替實際用戶,Vuser 模擬實際用戶的操作來使用應用程序。一個場景可以包含幾十、幾百甚至幾千個Vuser。n3)Vuser3)Vuser腳本腳本 Vuser腳本用于描述Vuser在場景中執(zhí)行的操作。n4)事務事務 要度量服務器的性能,需要定
8、義事務。事務表示要度量的最終用戶業(yè)務流程,建議錄制的時候插入事務而不要等錄制完后再插入事務。n5)5)集合點集合點 為了能夠模擬所有虛擬用戶同時并發(fā),需要在業(yè)務操作前添加集合點,當全部用戶到達該集合點時,釋放所有用戶,注意,只能向腳本Action部分添加集合點。.20利用vugen制作腳本nLR用Vuser(虛擬用戶)來代替實際的用戶。Vuser執(zhí)行的操作是用Vuser腳本來描述的。nVuser腳本生成器(也稱Vugen)是LR用于開發(fā)Vuser腳本的主要工具。Vugen通過錄制客戶端與服務器之間的活動來錄制腳本。例如:在數(shù)據(jù)庫應用程序中,測試工具的腳本生成器(Vugen)會監(jiān)控數(shù)據(jù)庫的客戶端
9、,并跟蹤發(fā)送到數(shù)據(jù)庫服務器和從數(shù)據(jù)庫服務器接收的所有請求。n當Vuser與服務器直接通信時,不需要在用戶界面中耗費系統(tǒng)資源,這樣就可以在一個工作站中同時運行大量Vuser,進而可以使用很少的測試計算機來模擬非常大的服務器負載。.21選擇協(xié)議nC/S(Client/Server)結構的win32應用程序一般可以選用winsocket協(xié)議。nB/S(Browser/Server)結構的通過瀏覽器瀏覽數(shù)據(jù)的一般選用Web(Http/Html)協(xié)議。n1基于瀏覽器的應用程序推薦使用HTML-based Scriptn2 不是基于瀏覽器的應用程序推薦使用 URL-based Script。n3 如果基于
10、瀏覽器的應用程序中包含了 JavaScript 并且該腳本向服務器產生n了請求,比如DataGrid 的分頁按鈕等,也要使用URL-based 方式錄制n4 基于瀏覽器的應用程序中使用了 HTTPS 安全協(xié)議,使用URL-based.22 .23Winsocket協(xié)議.24Http協(xié)議.25Vuser腳本的三個部分n這里我們簡單講講Vuser腳本的三個部分: 創(chuàng)建的每個Vuser腳本都至少包含三部分:vuser_init、一個或多個 Actions及vuser_end。錄制期間,可以選擇腳本中VuGen要插入已錄制函數(shù)的部分。通常情況下,可以將登錄到服務器的活動錄制到 vuser_init部分
11、中、將客戶端活動錄制到 Actions 部分中,并將注銷過程錄制到vuser_end部分中。n運行多次迭代腳本,只有腳本的Actions部分被重復,而Vuser_init和Vuser_end部分只運行一次。n如果我們測試的只是登錄操作,需要登錄操作循環(huán)被執(zhí)行。那么我們也可以將登錄操作錄制在action中。.26工具條錄制腳本的時候會產生如下圖所示的工具條:.27錄制腳本建議 錄制腳本的時候,會使用LR的默認設置,把腳本錄制到Vuser_init中,此時我們會等錄制完成后,再將腳本剪切粘貼到actions和Vuser_end部分中去。這是個不可取的做法,比較好的做法是在錄制的過程中,就應該通過上
12、圖所示的工具條選擇我們錄制的操作需要錄制到腳本的哪個部分。.28腳本設計常用技巧-參數(shù)化n參數(shù)化參數(shù)化:錄制完腳本后點擊工具欄上的.29參數(shù)化n此時參數(shù)列表中沒有任何參數(shù),點擊New新建一個參數(shù),假如我要參數(shù)化用戶名,參數(shù)取名為UserName.30參數(shù)化設置.31參數(shù)化設置nSelect next row有以下幾種選擇:nSequential:按順序一行一行的讀取數(shù)據(jù)。nRandom: 隨機取值nUnique: 取唯一的值,這樣需要保證數(shù)據(jù)表中有足夠的數(shù)據(jù)。nUpdate value one有以下幾種選擇:nEach Iteration 每一次迭代nEach Occurrence 每一次出現(xiàn)
13、nOnce 每次取一樣的值.32參數(shù)化 在參數(shù)列表中建立好需要的參數(shù)后,在腳本中,框選 要參數(shù)的字符,右擊鼠標,選擇Replace With a Parameter,找到所需要的參數(shù),點擊OK,參數(shù)化就完 成了。.33腳本設計常用技巧-關聯(lián) 關聯(lián)關聯(lián): 我們的系統(tǒng)經常會有些動態(tài)的數(shù)據(jù),比如新增記錄之前系統(tǒng)會給一個流水號,我們的腳本在錄制的時候捕獲了這個號碼,但是每次新增流水號肯定不同,拿腳本中的原始流水號去新增記錄,肯定違反數(shù)據(jù)表的主鍵約束 。如果我們在receive的包中找到那個流水號,并把它作為參數(shù)給send包,那么問題就迎刃而解了,這就是關聯(lián)(其實也是一種參數(shù)化) 關聯(lián)是腳本設計中相對麻
14、煩的工作,關聯(lián)成功與否直接影響腳本執(zhí)行成功,若實在找不出關聯(lián)的地方,則可與開發(fā)人員咨詢哪個地方返回了需要關聯(lián)的數(shù)據(jù)。.34腳本設計常用技巧-關聯(lián)nLoadRunner有自動關聯(lián)功能,能自動捕捉腳本中需要關聯(lián)的數(shù) 據(jù),但得把ToolsRecording OptionsCorrelationEnable correlation during Recording選上,或者腳本錄制完成后,運 行一遍,然后點擊 則會找了腳本中需要關聯(lián)的數(shù)據(jù),可以點擊Correlate完成關 聯(lián),但自動關聯(lián)操作往往不能完全按照用戶的意圖來完成,而且 自動關聯(lián)公對web和數(shù)據(jù)庫應用等有限的協(xié)議有效,如果要對其 他的類型的應
15、用的腳本進行關聯(lián)操作,就須使用手工關聯(lián)操作方 式。 .35腳本設計常用技巧-關聯(lián)n關聯(lián)步驟:1) 準備一個固定的操作步驟(包括輸入數(shù)據(jù)等都要求相同)2) 在LoadRunner的VU Generator中使用該步驟錄制形成腳本, 并保存腳本。3) 重復上一步動作,使用相同的步驟錄制一個新的腳本并保存。4) 執(zhí)行期間命令ToolsCompare with vusers,在彈出來的對話 框中選擇步驟(2)所保存的腳本。5) 在WinDiff的比較窗口中查看兩個腳本的不同之處,并對每個 腳本的不同之處進行分析,使用關聯(lián)函數(shù)對需要關聯(lián)的數(shù)據(jù) 進行關聯(lián)。n關聯(lián)常用函數(shù):Web_reg_save,從web
16、服務器返回的信息找到批定的內容并將其保存到參數(shù)中。.36Vuser腳本的兩種查看方式Vuser腳本的兩種查看方式:Script View和Tree View。我們通過View菜單條Script View和Tree View 來切換?;趫D標的Tree View和基于文本的script View有各自的作用。注意:n在Tree View模式下點擊Start Record 是會出錯的。只能在Script View下來錄制腳本。n如果你在查看data.ws文件,那么Vugen將不允許你切換到Tree View模式下。.37Tree View模式查看返回數(shù)據(jù).38Tree View模式查看返回數(shù)據(jù)n從
17、圖中可以看出,Tree View模式下可以看到每個語句相關的Request和Reponse 數(shù)據(jù),Reponse數(shù)據(jù)按照Object的結構關系用樹型表達,擊擊每個Object可以看到Object的HTML碼。.39如何調試腳本n錄制好腳本,進行參數(shù)化以及關聯(lián)后,我們還得確定腳本是能正常運行的,是可以模擬用戶操作的,我們腳本很少能錄制好后,參數(shù)化好腳本后回放時就沒有錯誤的,出錯時我們需要調試,LR的編譯器提供調試腳本的功能。我們可以調試和優(yōu)化我們的腳本。.40如何調試腳本n腳本調試先后在單腳本回放下和加壓回放下兩種情況下進行。也就是在vugen中和在controller中進行。在controll
18、er中主要看在加壓狀態(tài)下參數(shù)是否能正確地傳遞與賦值,動態(tài)數(shù)據(jù)是否能正確地獲得。.41如何設計場景場景場景:場景可以理解為單個腳本在某種條件或某種環(huán)境 運行時的環(huán)境特點,即腳本的運行環(huán)境。 比如可以在場景中設置需要監(jiān)控的服務器及相關計數(shù)器,多少并發(fā)用戶,虛擬用戶產生方式,集合點策略,以及Run-time setting(運行時設置),場景的執(zhí)行時間,這些如何設置需要根據(jù)實際情況進行,場景的設置過程可以簡單理解為模擬真實環(huán)境的過程。 場景實則是一種.lrs文件,當場景設計完成后,可以將該場景保存下來,供以后使用,這樣就不用重復設計場景了。 .42如何新建場景打開Controller方法:在VU-G
19、en(腳本生成器)中,ToolsCreate ControllerScenario.43添加Load Generator Machinesn點擊“Generators”按鈕,出現(xiàn)Load Generators窗口n點擊Connect,如果狀態(tài)變成ready,則表示連接正常,如果狀態(tài)為Failed該機器不能連接,檢查原因。.44添加虛擬用戶數(shù).45如何確定并發(fā)用戶數(shù)n估算并發(fā)用戶數(shù)公式nC=nL/Tn估算峰值并發(fā)用戶數(shù)nC C+3C (根號)其中:C是平均的并發(fā)用戶數(shù);C是并發(fā)用戶峰值;n是 login session的數(shù)量;L是login session的平均長度;T是考察的時間段長度。.46
20、估算并發(fā)用戶數(shù)n假如有一個OA系統(tǒng),系統(tǒng)有3000個用戶,平均每天有400個用戶要訪問該系統(tǒng),對一個典型用戶來說,一天之內從登錄到退出系統(tǒng)的平均時間為4小時,而在一天的時間內,用戶只在8小時內使用該系統(tǒng),求峰值并發(fā)數(shù)為多少?n由上述兩個公式可以得到:nC=400*4/8=200nC=200+3200=242.47設置Schedule產生虛擬用戶nSchedule里面主要用來設置任務計劃。n點擊 按鈕進入Schedule設置窗口.48設置Schedule運行虛擬用戶.49設置Schedule退出虛擬用戶.50設置場景運行時間n點擊.51設置集合點策略.52設置集合點策略n點擊Policy按鈕,進
21、入策略設置窗口.53添加性能計數(shù)器-windowsn在添加性能計數(shù)器之前需要具有服務器的系統(tǒng)管理員權限,以便獲取機器資源。nWindows:假設服務器為windows,IP為:4,n具有管理員權限的用戶名和密碼為administrator/abcn命令如下:n1)運行cmdn2) net use 4 /user:administratorn3)按下enter,會提示輸入密碼n4)輸入密碼abcn5)按下enter,提示命令操作成功,則完成連接。.54添加性能計數(shù)器n點擊Add按鈕,輸入服務器IP.55執(zhí)行測試n運行場景前需要注意的事項:每個組的虛
22、擬用戶數(shù)、迭代次數(shù)、think time、參數(shù)化時的取值間隔、確認虛擬機的LoadRunner Agent Service打開n運行前使Generator機器處理Ready狀態(tài)n確認被監(jiān)測的機器已經連接上去,并且添加自己所需要的計數(shù)器n運行之前一定要確認系統(tǒng)中壓力點的數(shù)據(jù)量是多少n確認以上都設置正確時再點擊 運行測試場景.56 四、 測試結果分析 .57內存分析方法n內存分析方法用于判斷系統(tǒng)有無遇到內存瓶頸,是否需要通過增加內存手段來提高系統(tǒng)性能表現(xiàn)。n1)首先查看Memory/Available Mbytes指標 該計數(shù)值是描述系統(tǒng)可用內存的直接指標,如果該指標的數(shù)據(jù)比較小,系統(tǒng)可能出現(xiàn)了內
23、存方面的問題。n2)操作系統(tǒng)經常會用磁盤交換的方式提高系統(tǒng)可用的內存量或提高內存的使用率,我們可以關注page/sec,Page/read/sec和page fault/sec的值,這三個值直接反映了操作系統(tǒng)進行了磁盤交換的頻度。 Page/sec:表明由于硬件頁面錯誤而從磁盤取出的頁面數(shù),或由于頁面錯誤而寫入磁盤以釋放工作集空間的頁面數(shù)。 Page Read/sec:頁的硬故障,Page/sec的子集,該值比較大測表示是磁盤讀而不是緩存讀。閾值為5。 Page Faults/sec:每秒由處理器處理的失效頁的全部數(shù)量。當一個進程需要的代碼或數(shù)據(jù)不在它的工作區(qū)(它的空間在物理內存中)中時,發(fā)生
24、失效頁。 .58內存分析方法n如果Page/sec的計數(shù)持續(xù)高于幾百,很可能會有內存方面的問題產生,但Page/sec的值很大不一定表明內存有問題,而可能是使用內存映射文件程序所致。Page Faults/sec說明了每秒發(fā)生頁面失效的次數(shù),頁面失效得越多,則說明操作系統(tǒng)向內存中讀取的次數(shù)越多。n3)根據(jù)磁盤相關計數(shù)器綜合分析,如果Page Read/sec很低,同時%Disk Time和Average Disk Queue Length的值很高,則可能有磁盤瓶頸,但是,如果隊列長度增加的同時Page Read/sec并未降低,則是由于內存不足。.59處理器分析方法1)%Processor Time:如果該值持續(xù)超過85%,表明瓶頸是CPU。可以考慮增加一個處理器或換一個更快的處理器。 2)%User Time:表示非核心操作耗費的CPU,如數(shù)據(jù)庫操作,如排序,執(zhí)行aggregat
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 讀后續(xù)寫-打破+“女巫”+傳言擁抱善意暖陽+講義 高三下學期開學考試英語試題
- 裝修現(xiàn)澆合同范本
- 2025年桂林信息工程職業(yè)學院單招職業(yè)技能測試題庫及答案1套
- 消防鍋爐維修合同范本
- 電子商務平臺用戶購買行為研究
- 電競酒店會員福利解鎖全新體驗
- 鹵菜店合同范本
- 委托借貸款合同范本
- 2025-2030年中國燒結型焊劑行業(yè)投資分析及發(fā)展規(guī)劃研究報告
- 2025-2030年中國濾水器產業(yè)運行態(tài)勢及投資戰(zhàn)略研究報告
- 【真題】2023年南京市中考語文試卷(含答案解析)
- 安徽安慶家鄉(xiāng)介紹
- 自動測試系統(tǒng)第1章第1節(jié)測試系統(tǒng)發(fā)展綜述
- 2024年河南省水務規(guī)劃設計研究有限公司人才招聘筆試參考題庫附帶答案詳解
- 山地光伏設計方案
- 2022廣州美術學院附屬中學(廣美附中)入學招生測試卷語文
- 北師大版(2019)選擇性必修第三冊Unit 7 Careers Topic Talk 導學案
- 春節(jié)復工復產安全教育培訓
- 2024年廣西公務員考試行測真題及答案解析
- 護理質量改進項目
- 《礦產地質勘查規(guī)范 花崗偉晶巖型高純石英原料》(征求意見稿)
評論
0/150
提交評論