我傳的性能測試基礎(chǔ)_第1頁
我傳的性能測試基礎(chǔ)_第2頁
我傳的性能測試基礎(chǔ)_第3頁
我傳的性能測試基礎(chǔ)_第4頁
我傳的性能測試基礎(chǔ)_第5頁
已閱讀5頁,還剩46頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、性能測試基礎(chǔ) 性能測試課程內(nèi)容 第一章 性能測試概述 第二章 性能指標(biāo)值 第三章 性能測試類型 第四章 性能測試流程 第五章 性能測試工具1 性能測試概述 1.1 初見性能測試 1.2 性能測試行業(yè)背景 1.3 性能測試定義 1.4 性能測試目的1.1 初見性能測試 從奧運(yùn)會門票說起 官方新聞如下:10月30日,北京奧組委面向境內(nèi)公眾啟動第二階段奧運(yùn)會門票預(yù)售,然而,為了讓更多的公眾實現(xiàn)奧運(yùn)夢想的“先到先得,售完為止”的銷售政策適得其反,公眾紛紛搶在第一時間訂票,致使票務(wù)官網(wǎng)壓力激增,導(dǎo)致系統(tǒng)癱瘓。 性能問題分析: 從上午9點開始售票到中午12點,3個小時內(nèi),票務(wù)網(wǎng)站被瀏覽次數(shù)達(dá)到2000萬次

2、。官方票務(wù)網(wǎng)站的瀏覽量在第一個小時達(dá)到800萬次,每秒鐘從網(wǎng)上提交的門票申請超過20萬張 ,這與他們提供的100萬次/小時流量相差甚遠(yuǎn)。票務(wù)呼叫中心熱線從9點到10點的呼入量超過了200萬人次1.2 性能測試行業(yè)背景 1.互聯(lián)網(wǎng)用戶越來越多,生活節(jié)奏越來越快 2.軟件系統(tǒng)的規(guī)模日益龐大,結(jié)構(gòu)日趨復(fù)雜 3.軟件性能問題越來越突出,以后做性能測試是必然 4.性能測試人員從業(yè)人數(shù)目前較少1.3 性能測試定義 性能測試是通過自動化測試工具模擬多種正常、峰值以及異常負(fù)載條件來對系統(tǒng)的各項性能指標(biāo)進(jìn)行測試 1.4 性能測試目的 1. 評估 評估系統(tǒng)是否滿足性能需求 2. 調(diào)優(yōu) 解決性能測試中發(fā)現(xiàn)的瓶頸和問

3、題 3. 穩(wěn)定 驗證系統(tǒng)是否穩(wěn)定可靠 性能測試課程內(nèi)容 第一章 性能測試概述 第二章 性能指標(biāo)值 第三章 性能測試類型 第四章 性能測試流程 第五章 性能測試工具思考 一個優(yōu)秀的性能測試工程師需要哪些方面的知識?2 性能測試指標(biāo)值 2.1 事務(wù)(事務(wù)(TransactionTransaction ) 2.2 響應(yīng)時間(Response TimeResponse Time) 2.3 TPS 2.4 吞吐量 2.5 點擊率 2.6 并發(fā)用戶數(shù)( (Concurrent users) 2.7 資源利用率2.1 事務(wù) 在web性能測試中,一個事務(wù)表示一個“從用戶web ServerDBweb serv

4、er用戶”的過程,一般的響應(yīng)時間都是針對事務(wù)而言的。 端到端,一個完整的操作過程,比如一次登錄、一次篩選條件查詢,一次支付等。2.2 響應(yīng)時間 響應(yīng)時間指的是從客戶端發(fā)起一個請求開始,到客戶端接收到從服務(wù)器端返回的響應(yīng)結(jié)束,這個過程所耗費(fèi)的時間。在某些工具中,響應(yīng)時間通常會稱為 “TTLB”,即“time to last byte”,意思是從發(fā)起一個請求開始,到客戶端收到最后一個字節(jié)的響應(yīng)所耗費(fèi)的時間。響應(yīng)時間的單位一般為“秒”或者“毫秒”。一個公式可以表示:響應(yīng)時間= 網(wǎng)絡(luò)響應(yīng)時間 + 應(yīng)用程序響應(yīng)時間 。2.3 TPS Transaction Per Second:每秒事務(wù)數(shù)。 指服務(wù)器在

5、單位時間內(nèi)(秒)可以處理的事務(wù)數(shù)量,一般以request/second為單位 TPS=事務(wù)總量/事務(wù)完成時間。 那么如何理解:事務(wù)通過TPS?2.4 吞吐量 吞吐量(任一秒上從服務(wù)器獲得的數(shù)據(jù)量Throughput) 吞吐量指的是單位時間內(nèi)處理的客戶端請求數(shù)量。通常情況下,吞吐量用請求數(shù)/秒或者頁面數(shù)/秒來衡量。從業(yè)務(wù)角度看,吞吐量也可以用訪問人數(shù)/天 或者頁面訪問量/天來衡量。2.5 點擊率 點擊率是指客戶端 Hit Rate Hit Rate:是指每秒發(fā)送的HTTP請求的數(shù)量,點擊率越大對server造成的壓力就越大 一次頁面點擊,可以包含多次請求2.6 并發(fā)用戶數(shù) Concurrent

6、users 并發(fā)數(shù)是指同時進(jìn)行請求的客戶的數(shù)量,并發(fā)數(shù)用于模擬用戶的真實負(fù)載情況(并發(fā)情況是對系統(tǒng)最大的考驗),并發(fā)數(shù)同時使用系統(tǒng)的用戶數(shù)。 并發(fā)用戶數(shù)的特點: 同一時刻 對服務(wù)器有負(fù)載(注意:全部用戶、在線用戶、并發(fā)用戶三者之間的區(qū)別)2.7 資源利用率 是指軟件系統(tǒng)在內(nèi)存、CPU、網(wǎng)絡(luò)、I/O的利用率等方面的Resourceutilization 。 資源利用率指的是對不同系統(tǒng)資源的使用程度,例如服務(wù)器的CPU(s),內(nèi)存,網(wǎng)絡(luò)帶寬等。資源利用率通常以占用最大值的百分比n%來衡量。不同視角下的性能 用戶角度 響應(yīng)時間(最關(guān)心的指標(biāo))2/5/8原則:過長時間的等待會讓客戶煩躁不安 系統(tǒng)穩(wěn)定性

7、(把對軟件的信心留住)HTTP 500:數(shù)據(jù)庫崩潰、應(yīng)用服務(wù)器崩潰HTTP 404: 服務(wù)器無法回應(yīng) 系統(tǒng)角度 網(wǎng)絡(luò)延遲、數(shù)據(jù)延遲 系統(tǒng)資源的使用情況 開發(fā)角度 代碼實現(xiàn)(算法等) 數(shù)據(jù)庫實現(xiàn)(數(shù)據(jù)模型設(shè)計、語句的實現(xiàn)方式等)思考和練習(xí) 假設(shè): 理發(fā)店共有3名理發(fā)師 每位理發(fā)師剪一個發(fā)的時間都是1小時 容忍的等待時間+剪發(fā)時間是3小時,超過3小時走人 理發(fā)店如何擴(kuò)大業(yè)務(wù)規(guī)模? 理發(fā)店模型和性能拐點有什么關(guān)系? 性能測試課程內(nèi)容 第一章 性能測試概述 第二章 性能指標(biāo)值 第三章 性能測試類型 第四章 性能測試流程 第五章 性能測試工具3 性能測試類型 3.1 性能測試 3.2 負(fù)載測試 3.3

8、壓力測試 3.4 配置測試 3.5 并發(fā)測試 3.6 容量測試3.1 性能測試 狹義上的性能測試是一種“正?!钡臏y試,主要是測試正常使用時,系統(tǒng)是否滿足要求,同時可能為了保留系統(tǒng)的擴(kuò)展空間進(jìn)行一些稍稍超出“正?!狈秶臏y試。 性能測試一般是對需求進(jìn)行的測試。 廣義上的性能測試包含所有關(guān)于性能方面的測試。3.2 負(fù)載測試 通過在被測系統(tǒng)上不斷增加壓力,知道性能指標(biāo)。例如:響應(yīng)時間超過預(yù)定指標(biāo)或者某種資源已經(jīng)達(dá)到飽和狀態(tài)。 這種測試考驗找到系統(tǒng)的處理極限,為系統(tǒng)調(diào)優(yōu)提供數(shù)據(jù)。負(fù)載測試一般壓力要大些。3.3 壓力測試 對系統(tǒng)不斷施加壓力的測試,是通過確定一個系統(tǒng)的瓶頸或者不能接受不能接受的性能點,來

9、獲得系統(tǒng)能夠提供的最大服務(wù)級別的測試。 例如測試一個web站點的大量的負(fù)荷下,何時系統(tǒng)的響應(yīng)會退化或者失敗。3.3 壓力測試 對系統(tǒng)不斷施加壓力的測試,是通過確定一個系統(tǒng)的瓶頸或者不能接受不能接受的性能點,來獲得系統(tǒng)能夠提供的最大服務(wù)級別的測試。 例如測試一個web站點的大量的負(fù)荷下,何時系統(tǒng)的響應(yīng)會退化或者失敗。性能測試/負(fù)載測試/壓力測試之間的區(qū)別 性能測試,表示在一個給定的基準(zhǔn)下,能執(zhí)行的最好情況,例如,在沒有負(fù)重的情況下,你跑100米需要花多少時間 負(fù)載測試,也是性能測試,但是他是在不同的負(fù)載下的。對于剛才那個例子,如果擴(kuò)展為:在50公斤、100公斤、200公斤等情況下,你是否還是背負(fù)

10、?你的極限是多少?-峰值 壓力測試,是在不斷增加負(fù)載的情況下的性能測試。對于剛才那個例子,如果改為:逐步增加重量,在跑步的過程中你什么時候會跑不動,掛掉!-穩(wěn)定性3.4 配置測試 配置測試主要是通過測試找到系統(tǒng)各項資源的最佳分配原則。配置測試是系統(tǒng)調(diào)優(yōu)的重要依據(jù),例如我們可以不停的調(diào)整oracle的內(nèi)存來決定cpu和內(nèi)存的匹配情況。(當(dāng)前配置-調(diào)優(yōu)-未來業(yè)務(wù)增長)3.5 并發(fā)測試 測試多個用戶同時訪問同一個應(yīng)用、同一個模塊或者數(shù)據(jù)記錄時是否存在思索或者其他性能問題,幾乎所有的性能測試都會涉及一些并發(fā)測試。 集合點的概念3.6 容量測試 測試系統(tǒng)能夠處理的最大會話能力。確定系統(tǒng)可處理同時在線的最

11、大用戶數(shù),通常和數(shù)據(jù)庫有關(guān)。 容量測試目的是通過測試預(yù)先分析出反映軟件系統(tǒng)應(yīng)用特征的某項指標(biāo)的極限值(如最大并發(fā)用戶數(shù)、數(shù)據(jù)庫記錄數(shù)等),系統(tǒng)在其極限值狀態(tài)下沒有出現(xiàn)任何軟件故障或還能保持主要功能正常運(yùn)行。容量測試是面向數(shù)據(jù)的,并且它的目的是顯示系統(tǒng)可以處理目標(biāo)內(nèi)確定的數(shù)據(jù)容量。思考 商城系統(tǒng)中,如何需要做性能測試,你會怎么設(shè)計性能測試場景? 性能測試課程內(nèi)容 第一章 性能測試概述 第二章 性能指標(biāo)值 第三章 性能測試類型 第四章 性能測試流程 第五章 性能測試工具4 性能測試流程 4.1 了解被測試項目的性能測試需求 4.2 分析被測試項目的性能測試需求 4.3 編寫性能測試計劃/測試用例

12、4.4 相關(guān)資源準(zhǔn)備(功能相對穩(wěn)定) 4.5 腳本維護(hù)(編寫程序) 4.6 執(zhí)行腳本(執(zhí)行程序) 4.7 分析結(jié)果 4.8 性能調(diào)優(yōu) 4.9 性能測試報告4.1 了解被測試項目的性能測試需求 響應(yīng)時間 持續(xù)運(yùn)行時間(資源監(jiān)控) 并發(fā)用戶量4.2 分析被測試項目的性能測試需求 響應(yīng)時間的確定(依據(jù)具體的業(yè)務(wù)) 哪些是系統(tǒng)經(jīng)常用到的業(yè)務(wù) 并發(fā)用戶量的確定(可以估計或者通過日志得到) 增加、刪除、查詢、修改至少都要做一個腳本 可擴(kuò)展的空間(1年后,用戶量增加。)4.3 編寫性能測試計劃/測試用例 覆蓋測試的需求 測試的周期和風(fēng)險的評估 人力資源、硬件資源、軟件資源的配備 測試的手段和工具應(yīng)在測試計劃

13、中有所體現(xiàn) 增加、刪除、查詢、修改至少都要做一個腳本 可擴(kuò)展的空間(應(yīng)依據(jù)具體的需求決定取舍測試)4.4 相關(guān)資源準(zhǔn)備(功能相對穩(wěn)定) 人力資源(測試、開發(fā)、數(shù)據(jù)庫、系統(tǒng)管理人員) 硬件資源(硬盤、內(nèi)存、CPU) 軟件資源(操作系統(tǒng)、數(shù)據(jù)庫、應(yīng)用服務(wù)器等) 注:所有資源的準(zhǔn)備應(yīng)趕早不趕晚,在做大容量測試時應(yīng)考慮數(shù)據(jù)的提前準(zhǔn)備,盡量讓最擅長的人做最擅長的事。4.5 腳本維護(hù)(編寫程序) 腳本錄制 腳本修改/完善 腳本參數(shù)化 腳本及其數(shù)據(jù)的存儲 程序的編寫通常為多線程來實現(xiàn)4.6 執(zhí)行腳本(執(zhí)行程序) 腳本保存 參數(shù)文件保存 結(jié)果信息保存4.7 分析結(jié)果 測試通常提供問題的定位(應(yīng)積極和其他人員討

14、論) 結(jié)果信息保存 分析結(jié)果的對比4.8 性能調(diào)優(yōu) 應(yīng)補(bǔ)充多方面的知識(如:系統(tǒng)、數(shù)據(jù)庫、應(yīng)用服務(wù)器等知識) 每次應(yīng)只調(diào)整一方面的配置(更好定位問題) 性能問題產(chǎn)生的原因分析?4.9 性能測試報告 性能測試目的 性能測試軟件性能需求 性能指標(biāo)值 性能測試策略 性能測試環(huán)境 性能測試工具要求 性能測試數(shù)據(jù)要求 性能測試結(jié)果分析 性能測試過程數(shù)據(jù) 性能測試缺陷 性能測試風(fēng)險評估作業(yè) 網(wǎng)上搜索性能測試方案和性能測試報告,整理成思維導(dǎo)圖,并在課堂講述其包含的內(nèi)容和理解 性能測試課程內(nèi)容 第一章 性能測試概述 第二章 性能指標(biāo)值 第三章 性能測試類型 第四章 性能測試流程 第五章 性能測試工具5 性能測

15、試工具 5.1 性能測試工具原理 5.2 常見的性能測試工具 5.3 性能測試工具選擇5.1 性能測試工具原理 腳本生成通過代理方式接收客戶端發(fā)送的數(shù)據(jù)包,記錄并將其轉(zhuǎn)發(fā)給服務(wù)器端;接收到從服務(wù)器端返回的數(shù)據(jù)流,記錄并返回給客戶端 壓力生成:根據(jù)腳本內(nèi)容,產(chǎn)生實際的負(fù)載,扮演產(chǎn)生負(fù)載的角色 監(jiān)控系統(tǒng)則可以對 數(shù)據(jù)庫 、應(yīng)用服務(wù)器、服務(wù)器的主要性能計數(shù)器進(jìn)行監(jiān)控5.2 常見性能測試工具 Loadrunner Jmeter ab(ApacheBench) NeoLoad Loadstorm 壓測寶等壓力測試平臺工具5.2 常見性能測試工具5.2 常見性能測試工具 服務(wù)器端性能測試工具:需要支持產(chǎn)生壓力和負(fù)載,錄制和生成腳本,設(shè)置和部署場景,產(chǎn)生并發(fā)用戶和向系統(tǒng)施加持續(xù)的壓力。 web前端性能測試工具:需要關(guān)于心瀏覽器等客戶端工具對具體需要展現(xiàn)的頁面的處理過程。 移動端性能測試工具:同web端性能測試工具也需要關(guān)心頁面的處理過程,另外還要具體數(shù)據(jù)采集的功能,比如:手機(jī)CPU、內(nèi)存、電量,啟動時間等數(shù)據(jù)的記錄。 資源監(jiān)控工具:這個主要是能夠收集性能測試過程中的數(shù)據(jù)以及良好的結(jié)果展現(xiàn)方式。5.3 性能測試工具選擇成本方面: 工具成本:商業(yè)功能強(qiá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

提交評論