性能測試筆記_第1頁
性能測試筆記_第2頁
性能測試筆記_第3頁
性能測試筆記_第4頁
性能測試筆記_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、2749555640123456789性能測試筆記1. 什么是性能測試軟件的功能:對一個軟件基本功能能夠實現(xiàn),比如:銀行卡能夠正常轉賬成功(用戶數(shù)=1)軟件的性能:要求軟件性能更好,一般關注多用戶的使用情況,軟件的響應時間。響應時間例子:登錄一個軟件,點擊“登錄”按鈕時,多久能夠顯示成功登錄的頁面。性能問題:1 每秒平均瀏覽量:2200次/秒瀏覽量(PV, Page View):即頁面訪問量或點擊量,用戶每次刷新即被計算一次購票申請:20萬張/秒以上自身設計瀏覽量100萬次/小時 à瀏覽量280次/秒2. 響應時間的358原則:3秒之內,客戶比較滿意5秒之內,客戶可以接受8秒之內,客

2、戶可以忍受大于8秒,無法忍受3. 一般進行性能測試之前,要對系統(tǒng)尤其是數(shù)據(jù)庫進行備份負載測試是一種 正常 的測試(在正常測試的指標下測出最大的負載量)指標或者某種資源達到某種指標,比如響應時間達到多少,比如CPU負載100%等壓力測試和負載測試二者的區(qū)別:負載測試強調系統(tǒng)在正常工作情況下的性能指標壓力測試的目的是發(fā)現(xiàn)在什么條件下系統(tǒng)的性能變得不可接受,發(fā)現(xiàn)應用程序性能下降的拐點影響系統(tǒng)性能的主要因素(1) 硬件: CPU,內存,硬盤,網(wǎng)卡及其他網(wǎng)絡設備【最好解決】(2) 操作系統(tǒng)(3) 網(wǎng)絡(4) 中間件(又叫應用服務器),web服務器(5) 數(shù)據(jù)庫服務器(6) 客戶端(7) 變成語言,程序實

3、現(xiàn)方式,算法【最難解決】客戶端=è服務端(Web服務器)=è應用服務器=è數(shù)據(jù)庫服務器性能測試主要關心兩個部分:web服務器和應用服務器??蛻舳讼蚍掌靼l(fā)送請求服務器端向客戶端返回應答(響應response)性能測試的常用術語:并發(fā)(Concurrency):所有用戶在同一時刻(一個時間點,可以精確到毫秒級)做同一件事情或操作,一般針對同一類型的業(yè)務例如:在信用卡審批業(yè)務中,一定數(shù)目的用戶在同一時刻對已經(jīng)完成的審批業(yè)務進行提交做并發(fā)的測試就稱為“并發(fā)測試”?!景l(fā)測試不包含睡眠時間】在線(OnLine):多用戶在一段時間內對系統(tǒng)執(zhí)行操作【包含睡眠時間】并發(fā)測試與在線

4、測試對系統(tǒng)的壓力不同,一般來講并發(fā)測試的壓力和在線測試的壓力的比值是10:1 。例如:200用戶并發(fā)測試相當于2000用戶在線測試。并發(fā)測試一定是多用戶。請求響應時間指從客戶端發(fā)送一個請求開始計時,到客戶端接到從服務器端返回的響應結果計時結束。在一些工具中,請求響應時間通常被稱為TTLB 即“Time to Last Byte”,意思是從開始發(fā)送第一個請求開始,到客戶端收到最后一個字節(jié)的響應為止所耗費的時間。請求響應時間的單位一般為“秒”或者“毫秒”再復雜的響應時間都可以分為3段:請求的響應時間=客戶端的響應時間+網(wǎng)絡的響應時間+服務器的響應時間一般測試放在內網(wǎng)里,帶寬,網(wǎng)絡不會成為瓶頸。只用

5、分析客戶端的響應問題和服務器的響應問題。一般客戶端的響應很少有問題,一般只分析服務器響應問題即可。事務響應時間:用戶完成某個具體事務(如跨行取款事務)所需要的時間。事務可能包含多個請求。比如點擊“登錄”按鈕,到登錄進頁面。事務的響應時間和請求響應時間的區(qū)別?一個事務包含一個或多個請求(一般,一個請求指的是一個http請求)。點擊率:每秒鐘用戶向web服務器提交的http請求數(shù)。-點擊率越大,對服務器的壓力也越大-注意:點擊不是指鼠標的一次“單擊”操作。因為在一次“單擊”操作中,客戶端可能向服務器發(fā)出多個HTTP請求(比如跳轉頁面需要更新展示圖片等)。點擊量的計算:假如單擊“登錄”按鈕,請求一個

6、頁面登錄后的歡迎頁面中包含3個圖片,則每個圖片都需要重新發(fā)送一個http請求,所以,單擊鼠標一次產(chǎn)生的http請求總數(shù)為4=1(登錄請求)+3(圖片請求)點擊率=點擊量/時間吞吐量:用戶在任意給定一秒從服務器端獲得的全部數(shù)據(jù)量,單位是字節(jié)吞吐量/傳輸時間=吞吐率吞吐率很重要,反應了服務器的處理速度和性能,也是衡量網(wǎng)絡性能的重要指標。TPS(事務數(shù)/秒)在性能測試過程中,要監(jiān)控服務器系統(tǒng)的各項資源情況,比如:CPU,內存,磁盤及網(wǎng)絡等情況。吞吐率和點擊率的區(qū)別:吞吐率:指服務器每秒處理的數(shù)據(jù)量。反應了服務器的處理能力,吞吐率越大,服務器處理能力越強。點擊率:客戶端每秒向服務器發(fā)送請求的數(shù)量。反應

7、了服務器的壓力,點擊率越大,服務器的壓力越大吞吐率受點擊率影響,也受服務器性能的限制。完美的吞吐率是:在帶寬充足的情況下,吞吐率隨著點擊率的增加而增加。資源利用率指對不同的資源系統(tǒng)的使用程度,包括web服務器,操作系統(tǒng),數(shù)據(jù)庫服務器,網(wǎng)絡,硬件,是測試和分析瓶頸的主要參數(shù)-如:服務器cpu利用率,磁盤利用率等它是分析系統(tǒng)性能指標進而改善性能的主要依據(jù),因此是web性能測試工作的重點。性能測試的策略(即方法):重點測試方法:基準測試,并發(fā)測試,綜合場景測試,疲勞強度測試,極限測試,遞增測試基準測試:一般做的是單用戶測試(Benchmark Testing)-指測試環(huán)境確定以后,對業(yè)務模型中涉及的

8、重要業(yè)務做單獨的測試。-目的是獲取單用戶執(zhí)行時的各項性能指標,為多用戶并發(fā)和綜合場景等性能測試分析提供參考依據(jù)。并發(fā)測試:就是多用戶的并發(fā)測試某個測試點。并發(fā)測試對系統(tǒng)要求比較嚴格,因為要模擬一個瞬間壓力。并且要忽略系統(tǒng)的睡眠時間(思考時間)。遞增測試:A)指每隔一定時間段(如5秒,10秒)加載不同數(shù)目的虛擬用戶執(zhí)行測試點操作,對測試點進行遞增用戶壓力加載測試。原因:所有用戶(5000)共同登陸可能會導致系統(tǒng)壓力過大,進而影響到后面關心的測試點(buy)的性能,導致關心的測試點結果不準確,所以采取遞增,分散一下前面的壓力,使系統(tǒng)關心的測試點能夠正常的測試。(這里是遞增著登陸)B)測試一個測試點

9、(如:購票),先測試單用戶,再測試20用戶,40用戶等情況,有利于分析,也稱為遞增測試。(這里是遞增著全套測試)綜合場景測試【重難點】:通過對系統(tǒng)結構和功能的分析,對用戶的分布和使用頻率的分析,來構造系統(tǒng)綜合場景的測試模型,模擬不同用戶執(zhí)行不同操作。如10%的用戶執(zhí)行瀏覽首頁,50%的用戶執(zhí)行查詢訂單,40%的用戶執(zhí)行訂購機票,最大限度地模擬系統(tǒng)的真實場景,使用戶預知系統(tǒng)投入使用后的性能水平。沒特別指明的話,一般都是指在線的。Login不適合放在綜合場景中運行。綜合場景:號稱能最真實的模擬實際的生產(chǎn)環(huán)境。如測試時間為50分鐘,則綜合場景中的每個腳本都是在循環(huán)執(zhí)行。所以綜合場景中不宜加入logi

10、n測試點,因為不能真實模擬實際的生產(chǎn)環(huán)境。疲勞強度測試:是一種特殊的強度測試(壓力測試)。指在一定的壓力下(如:相同的用戶數(shù))長時間(疲勞)對系統(tǒng)進行測試,并監(jiān)控服務器的各項資源情況。如:7x24小時,24小時(如移動電信銀行的服務器)。測試其服務器的穩(wěn)定性:指長時間的運行過程中,系統(tǒng)的各項資源及時間等指標表現(xiàn)是否正常。內存泄露:系統(tǒng)的服務器內存都被占用,而沒有釋放。導致系統(tǒng)沒有可用內存。內存泄露測試:通過LR監(jiān)控時查看具體的幾項指標,或者通過其它的專門內存泄露檢測工具測試。數(shù)據(jù)容量測試:查看系統(tǒng)服務器能否實現(xiàn)大數(shù)量下使用情況,系統(tǒng)的各項資源表現(xiàn)情況。如:200G,或者3個T。極限測試:也叫“

11、摸高測試”,測試系統(tǒng)的極限,如系統(tǒng)最大能承受的用戶數(shù),吞吐量等。虛擬用戶:Virtual Users控制臺:Controller分析工具:AnalysisLoadRunner的三大組件:虛擬用戶腳本生成器(Virtual User Generator)-Creat/Edit Scripts【Generator:生成器】壓力調度控制臺(Controller)-Run Load Tests壓力結果分析器(Analysis)-Analyze Test ResultsQTP(功能自動化的工具)和LR(性能測試工具)的區(qū)別:QTP關心的是功能方面,LR關心的是性能方面。QTP關心界面的控件屬性(對象,對

12、象的屬性,屬性值等)等,LR關心的是客戶端和服務器之間往來的數(shù)據(jù)包。LR的工作原理:錄制時,LR記錄客戶端和服務器二者之間的所有對話(數(shù)據(jù)包),形成腳本,回放時,LR模擬真實的客戶端,向服務器發(fā)送請求。并驗證服務器的響應。LR是怎么記錄下數(shù)據(jù)包的:(1)基于局域網(wǎng)的廣播原理。【這種用的很少】(2)基于一種嗅探原理sniffer?!灸壳霸谟玫姆绞健刻摂M用戶腳本生成器:是用來生成腳本的LR的常用術語:虛擬用戶(Virtual User 【簡稱VU】):在場景中,loadRUnner用VU代替實際用戶。Vuser模擬實際用戶執(zhí)行操作。一個場景可以包含幾十,幾百甚至幾千個Vuser。(每個虛擬用戶是一

13、個進程或者線程,一般用的是線程)Vuser腳本(Virtual User Script):用于描述VU在場景中執(zhí)行的操作。(記錄的客戶端發(fā)送的請求。)事物(Transaction):為度量服務器的性能,需要定義事務。事務表示要度量的最終用戶業(yè)務流程或操作。為何要定義事務:因為腳本中將關心的操作(如購票)定義為一個事務,則結果報告中(analysis)就會返回事務的響應時間。不關心的操作就不需要定義成事務。場景(Scenario):場景是一種文件,用于根據(jù)性能要求定義在每一個測試回話運行期間發(fā)生的事件。模擬真實環(huán)境中,用戶運行的情況?!緦⒛_本放到控制臺去運行(包括設置各種參數(shù))】綜合場景:將不同

14、的腳本,至少3個放到控制臺去共同運行一段時間。具體定義見PPT。測試注意:-設置IE(清楚瀏覽器緩存):進入工具èInternet選項è常規(guī)è設置è每次訪問此頁面時檢查-LR中修改參數(shù):進入ControllerèRunèTime SettingèTnternet Protocol èProxy,選擇No Proxy。Jojo /bean LR基本測試流程:制定性能測試計劃(部分)è創(chuàng)建測試腳本è編譯,運行測試腳本【VUG】è創(chuàng)建場景è運行,監(jiān)控場景,收集數(shù)據(jù)【Con 控制臺】

15、è生成測試報告,分析測試結果【analysis】 最好用英文命名小技巧:彈出結果日志文件Transaction 事務將一個操作設置成事務的目的:獲取操作的響應時間(在analysis報告里)在帶寬充足的情況下,完美的吞吐率應該隨著點擊率的升高而升高。反過來,當服務器壓力過大服務器處理能力不足時,吞吐率會隨著點擊率的增高而保持恒定或者降低,那么點擊率也會受到相應影響而變慢。即吞吐率和點擊率是相互影響的。腳本生成器可以模擬1個用戶,多用戶一定要用控制臺來實現(xiàn)。(控制臺就是來生成管理多用戶的。)基準測試是單用戶測試,可用腳本生成器(生成的調試結果是沒有響應時間的),但是也還是需要控制臺。因

16、為結果要寫到報告里。(結果生成器analysis得出單用戶測試的結果,比如響應時間等等)疲勞測試和綜合場景測試的區(qū)別就是時間的長短,疲勞測試運行的時間會長一些。只要業(yè)務邏輯不變(操作不變),則不需要重新調試腳本,回歸測試中可以直接利用原來腳本。調試腳本時請頻繁保存副本,因為LR回退鍵效果不是很好。腳本必須現(xiàn)在腳本生成器進行運行,執(zhí)行通過è將腳本放入控制臺,在控制臺執(zhí)行完畢后è生成結果報告總的吞吐率 服務水平等級協(xié)議報告中事務響應時間的標準方差值:越趨近于0,說明系統(tǒng)越穩(wěn)定(每一項事務的響應時間非常相似)90percent:表示90%的事務都可以在該響應時間內完成。代表一個大

17、多數(shù)情況。HTTP狀態(tài)碼:200表示成功4XX表示客戶端的失敗5XX表示服務器的失敗當場景設定的duration時間結束時,所有的虛擬用戶需要運行完當前的transaction以及action再結束?;鶞蕼y試執(zhí)行方法單用戶執(zhí)行腳本操作1分鐘單用戶執(zhí)行腳本操作5次B/S腳本必須要有登陸,有退出(否則假退出其實鏈接還沒斷開,會影響測試結果)Replay log:腳本執(zhí)行日志Recording log:錄制時的日志Generation log:所有客戶端和服務器二者之間的對話快捷鍵:ctrl+G Go to Line 跳到某一行跳到對應的日志基準測試:單用戶測試。3.4 1.7 1.8 1.6為了規(guī)

18、避第一次測試的不準確性,則有兩種測試方法:(1) 設置循環(huán)5次(N次)Run-time Setting循環(huán)5次,或者持續(xù)運行1分鐘。(取平均值)Run logic:循環(huán)次數(shù)-設置為5Pacing:兩次循環(huán)之間的步長值(時間間隔)-隨機值2-4秒Think time:ignore(忽略思考時間),因為對結果沒什么影響Pacing:步長值,為了更真實的模擬環(huán)境(斷開連接,釋放資源),一般選隨機值基準測試單用戶對服務器壓力不大,一般可以ignore think time。監(jiān)控資源:監(jiān)控服務器的資源客戶端的資源:自己隨時把握一下,不要成為測試的瓶頸即可。(2)持續(xù)運行1分鐘當duration和run_time setting中循環(huán)(run logic)都有值的話,duration的優(yōu)先級比較高【二者循環(huán)的位置都為action】Run logic:循環(huán)次數(shù)-設置為1Pacing:步長值,為了更真實的模擬環(huán)境(斷開連接,釋放資源),一般選隨機值基準測試單用戶對服務器壓力不大,一般可以ignore th

溫馨提示

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

評論

0/150

提交評論