性能測試規(guī)范_第1頁
性能測試規(guī)范_第2頁
性能測試規(guī)范_第3頁
性能測試規(guī)范_第4頁
性能測試規(guī)范_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、神州數(shù)碼系統(tǒng)集成服務(wù)有限公司性能測試規(guī)范2018 年 10 月目錄1 概述 31.1 編寫目的 31.2 適用范圍 32 性能測試指標 32.1 響應(yīng)時間 32.1.1 定義 32.1.2 測試方法 42.1.3 分析評估 52.2 TPS (QPS)、并發(fā)用戶數(shù) 72.2.1 定義 72.2.2 測試方法 72.2.3 分析評估 82.3 請求成功率 92.3.1 定義 92.3.2 測試方法 92.3.3 分析評估 92.4 CPU 使用率、內(nèi)存使用率、IO WAIT 92.4.1 定義 92.4.2 測試方法 102.4.3 分析評估 112.5 GC 112.6 進程級別的資源占用 1

2、11 概述1.1 編寫目的本文檔在對性能指標的概念、測試及分析方法、評判標準以及工具的使用進行說明,旨在指導(dǎo)性能測試工程師更好的理解各個性能指標,并對系統(tǒng)的性能質(zhì)量做出準確的評價和分析。1.2 適用范圍本規(guī)范適用范圍:性能測試、性能調(diào)優(yōu)和性能驗收活動。2 性能測試指標2.1 響應(yīng)時間2.1.1 定義響應(yīng)時間通常是指客戶發(fā)出請求到得到響應(yīng)的整個過程所耗費的時間,通常被定義TTLB( Timeto Laster Byte ),代表從發(fā)起一個請求開始,到客戶端收到響應(yīng)的最后一個字節(jié)所耗費的時間。響應(yīng)時間根據(jù)所耗費的時間段可以做細致的拆解,我們可以把它拆解為三部分,系統(tǒng)處理時間、數(shù)據(jù)傳輸時間、呈現(xiàn)時間

3、(Web 頁面特有,接口類請求無呈現(xiàn)時間),每個部分的時間消耗影響的因素有所不同。呈現(xiàn)時間:主要是瀏覽器對接收到的數(shù)據(jù)渲染展示的過程,呈現(xiàn)時間不止于瀏覽器有關(guān),和操作系統(tǒng)、電腦的硬件配置也有關(guān)系。數(shù)據(jù)傳輸時間:請求、響應(yīng)數(shù)據(jù)在網(wǎng)絡(luò)中傳輸消耗的時間,和網(wǎng)絡(luò)的時延、帶寬有關(guān)系。系統(tǒng)處理時間:系統(tǒng)接收到請求后,對請求處理,并將結(jié)果返回的時間,和系統(tǒng)服務(wù)器的軟硬件配置有關(guān)系。2.1.2 測試方法一、測試前提1) 前提一:性能測試中響應(yīng)時間的測試,需要保持一個穩(wěn)定的網(wǎng)絡(luò)環(huán)境。不建議在辦公網(wǎng)絡(luò)中搭建 “施壓設(shè)備”,不穩(wěn)定的辦公網(wǎng)絡(luò)環(huán)境會影響對測試結(jié)果的評判。建議在以下兩種環(huán)境下測試:施壓設(shè)備與被測系統(tǒng)在同

4、一局域網(wǎng)中,更能夠排除網(wǎng)絡(luò)情況對響應(yīng)時間的影響,能夠更準確的衡量“系統(tǒng)處理時間”。施壓設(shè)備和被測系統(tǒng)在不同的機房環(huán)境中通過公網(wǎng)測試,這種場景更能準確的模擬并評估系統(tǒng)在生產(chǎn)環(huán)境中的表現(xiàn)。測試工程師可以根據(jù)測試的目的,選擇后兩種環(huán)境進行測試。2) 前提二:確定一定的并發(fā)量來測試響應(yīng)時間最優(yōu)并發(fā)用戶場景、最高并發(fā)用戶場景兩種場景測試,響應(yīng)時間的表現(xiàn)是不同的,最高并發(fā)場景的響應(yīng)時間將會比最優(yōu)并發(fā)的響應(yīng)時間大得多,測試前我們需要確定我們測試的場景是最優(yōu)并發(fā)還是最高并發(fā)。二、測試步驟1) 找到最高的吞吐量(TPS) 。測試前確定一個響應(yīng)時間的標準(如:小于100ms ),然后進行基準測試,通過虛擬并發(fā)用戶

5、數(shù)為1的方式測試,記錄測試的TPS、響應(yīng)時間測試結(jié)果,將該響應(yīng)時間與標準比較, 若大于標準響應(yīng)時間,那么則說明系統(tǒng)有問題無法滿足標準,若該響應(yīng)時間小于標準時間,則繼續(xù)下面的測試。通過壓力測試找到最大的吞吐量:在基準測試響應(yīng)時間的限制下,找到系統(tǒng)最大的吞吐量( TPS ),該狀況下響應(yīng)時間滿足要求、吞吐量最大,可確定為“最佳并發(fā)用戶數(shù)”。方法是按照一定的步長,不斷增加虛擬并發(fā)用戶數(shù),直至響應(yīng)時間超過限制、吞吐量不在增長、任意節(jié)點資源使用率超過要求(如:70% )。2) 負載測試:保持最大吞吐量,執(zhí)行負載測試,持續(xù)30 分鐘,記錄測試TPS 、響應(yīng)時間測試結(jié)果。3) 穩(wěn)定性測試:保持最大吞吐量,執(zhí)

6、行穩(wěn)定性測試,持續(xù)3*24 小時,記錄測試TPS 、響應(yīng)時間。三、測試對象的分類1) 接口接口類響應(yīng)時間只包含數(shù)據(jù)傳輸時間、系統(tǒng)處理時間,不包含呈現(xiàn)時間,Apache Jmeter支持該類響應(yīng)時間的統(tǒng)計,共有min 、 max、 avg 三種統(tǒng)計結(jié)果,分別代表最小、最大、平均值,其他的性能測試工具均有對接口類響應(yīng)時間的精確統(tǒng)計。2) Web 頁面有3種方法可以統(tǒng)計 Web頁面的響應(yīng)時間: 瀏覽器抓包工具統(tǒng)計頁面響應(yīng)時間錄屏軟件抓取屏幕計算響應(yīng)時間 JS 打點統(tǒng)計頁面響應(yīng)時間。注意:目前還無法通過大量并發(fā)訪問的采樣統(tǒng)計頁面的響應(yīng)時間,在通過瀏覽器測試Web 頁面響應(yīng)時間時,要確保通過Jmeter

7、 對系統(tǒng)相對應(yīng)接口保持一定壓力的并發(fā)用戶訪問(通常在最優(yōu)并發(fā)下測試)。2.1.3 分析評估1、 Web 頁面響應(yīng)時間分析遵循258 原則在互聯(lián)網(wǎng)上對于用戶響應(yīng)時間有一個普遍的標準(2/5/8原則),一般認為響應(yīng)時間超過 5s 是系統(tǒng)是需要優(yōu)化,如果超過8s 是不可接受的。2s 之內(nèi)響應(yīng)被認為非常有吸引力的用戶體驗。5s 之內(nèi)響應(yīng)被認為比較不錯的用戶體驗。8s 之內(nèi)響應(yīng)被認為非常糟糕的用戶體驗。超過 8s 沒有響應(yīng),用戶通常認為請求失敗。需要特殊說明的一點,對于用戶來說,響應(yīng)時間是否被接受帶有一定的主觀色彩,例如一個系統(tǒng)報表的功能,每個月才會有用戶使用一次,那么每次花費1 個小時,用戶是可以接受

8、的,但是一個常用的登錄按鈕提交1 分鐘后才返回登錄成功,我們也難以接受。因此響應(yīng)時間的“長”和“短”并沒有絕對的定義,合理的響應(yīng)時間取決于用戶實際需求,而不能依據(jù)測試人員的設(shè)想或者標準的硬性規(guī)定。2、 Web 頁面響應(yīng)時間分析評估時需要考慮有無瀏覽器緩存的兩種情況Web 頁面響應(yīng)時間測試,要分為瀏覽器有緩存和無緩存的兩種情況(無緩存的情況由于資源的下載響應(yīng)時間會稍長),一般通過有瀏覽器緩存的場景的結(jié)果表現(xiàn)來評估響應(yīng)時間對用戶體驗的影響。三、接口類響應(yīng)時間,參考系統(tǒng)需求規(guī)格定義評估最優(yōu)并發(fā)情況下,性能測試結(jié)果平均響應(yīng)時間不得高于系統(tǒng)需求規(guī)格定義。建議:需求規(guī)格的定義,單接口響應(yīng)時間應(yīng)小于100m

9、s 。響應(yīng)時間的標準一般定義:99.9% 響應(yīng)時間必須在100ms 以下(非平均值,99.9% 取樣響應(yīng)時間均在100ms 以下)或者平均響應(yīng)時間在100ms 以下,目前工具只能統(tǒng)計平均響應(yīng)時間指標。四、響應(yīng)時間與歷史版本比較當前系統(tǒng)實測響應(yīng)時間的指標不得高于歷史版本的實測結(jié)果。注意:兩者的測試結(jié)果的比較,一定是在相同條件下測試的結(jié)果(環(huán)境對性能的影響較大)。五、參考同類系統(tǒng)功能的響應(yīng)時間對于新開發(fā)的系統(tǒng),在沒有生產(chǎn)環(huán)境數(shù)據(jù)、歷史版本參考的情況下,可參考其他類似系統(tǒng)的響應(yīng)時間的實測結(jié)果,對比本系統(tǒng)實測的結(jié)果,經(jīng)過產(chǎn)品經(jīng)理、開發(fā)、運營運維共同評審確定該 系統(tǒng)的性能需求標準,并按照達成一致的需求標

10、準進行評估。2.2 TPS ( QPS )、并發(fā)用戶數(shù)2.2.1 定義TPS :每秒事務(wù)數(shù),指系統(tǒng)每秒能夠處理的事務(wù)數(shù)量(一個事務(wù)可能是有多個請求組成)QPS :每秒查詢率,只系統(tǒng)每秒能夠處理的查詢(通常指一個request 請求)數(shù)量。并發(fā)用戶數(shù):在同一時刻(任一時刻)與服務(wù)器進行交互(服務(wù)器正在處理)的在線用戶的數(shù)量。對于并發(fā)用戶數(shù)避免兩種錯誤的理解,一種錯誤的理解是把并發(fā)用戶數(shù)理解為系統(tǒng)注冊用戶數(shù),還有一個錯誤的理解是把并發(fā)用戶數(shù)理解為系統(tǒng)在線用戶數(shù)。2.2.2 測試方法1) 找到穩(wěn)定運行的最高的吞吐量(TPS) 。測試前確定一個響應(yīng)時間的標準(如:小于100ms ),然后進行基準測試,

11、通過虛擬并發(fā)用戶數(shù)為1的方式測試,記錄測試的TPS、響應(yīng)時間測試結(jié)果,將該響應(yīng)時間與標準比較, 若大于標準響應(yīng)時間,那么則說明系統(tǒng)有問題無法滿足標準,若該響應(yīng)時間小于標準時間,則繼續(xù)下面的測試。通過壓力測試找到最大的吞吐量:在基準測試響應(yīng)時間的限制下,找到系統(tǒng)最大的吞吐量( TPS ),該狀況下響應(yīng)時間滿足要求、吞吐量最大,可確定為“最佳并發(fā)用戶數(shù)”。方法是按照一定的步長,不斷增加虛擬并發(fā)用戶數(shù),直至響應(yīng)時間超過限制、吞吐量不在增長、任意節(jié)點資源使用率超過要求(如:70% )。2)負載測試:保持最大吞吐量,執(zhí)行負載測試,持續(xù)30分鐘,記錄測試 TPS、響應(yīng)時間測試結(jié)果。3) 穩(wěn)定性測試:保持“

12、最佳并發(fā)用戶數(shù)”,執(zhí)行穩(wěn)定性測試,持續(xù) 3*24 小時,記錄測試 TPS、響應(yīng)時間。4) 在成功率100% 的限制下(不考慮響應(yīng)時間長短)找到系統(tǒng)的極限值。不斷增加并發(fā)用戶數(shù),能夠持續(xù)運行30 分鐘不出錯誤的并發(fā)量即為系統(tǒng)的極限值。2.2.3 分析評估最大吞吐量和系統(tǒng)資源使用的分析在明確響應(yīng)時間要求的限制下,壓力測試過程中,找到最大吞吐量的拐點時,分析系統(tǒng)資源( CPU 、內(nèi)存)的使用率,若使用率過低,則繼續(xù)加大并發(fā)用戶量,若系統(tǒng)的所有節(jié)點的任一資源均無法達到70% 使用率,說明系統(tǒng)存在系統(tǒng)類、軟件類問題和瓶頸,需要調(diào)優(yōu)。二、 TPS 與需求規(guī)格定義(生產(chǎn)環(huán)境負載)比較1) 需求規(guī)格說明書中有

13、明確的標準定義將吞吐量的實測結(jié)果和需求規(guī)格定義(生產(chǎn)環(huán)境負載)比較,若大于需求規(guī)格定義則為通過。一般最大吞吐量對應(yīng)生產(chǎn)環(huán)境的平均負載,系統(tǒng)極限值僅用來應(yīng)對生產(chǎn)環(huán)境的突發(fā)高峰。2) 需求規(guī)格說明書中無明確的標準定義若需求規(guī)格說明書中沒有關(guān)于性能指標的明確定義,在性能測試方案設(shè)計階段性能測試工程師應(yīng)推動測試、開發(fā)、產(chǎn)品經(jīng)理和運維運營一起,明確相關(guān)性能指標。性能指標可參考生產(chǎn)環(huán)境交易量統(tǒng)計數(shù)據(jù)來評估,評估結(jié)果一般應(yīng)略高于當前生產(chǎn)環(huán)境的負載(預(yù)留半年到一年訪問量增長的余量)。若新開發(fā)產(chǎn)品,無生產(chǎn)環(huán)境度量數(shù)據(jù),可參考同類產(chǎn)品、本產(chǎn)品運營推廣計劃來評估本產(chǎn)品的性能指標,性能指標確認的結(jié)果可通過提單結(jié)論歸檔

14、。三、負載測試、穩(wěn)定性測試采樣分析在負載測試、穩(wěn)定性測試過程中,保持最高吞吐量情況下壓測,TPS 曲線、響應(yīng)時間曲線應(yīng)該是趨于穩(wěn)定的,如出現(xiàn)大的波動(驟升或驟降),則視為異常的拐點(問題),需要 進行問題定位。2.3 請求成功率2.3.1 定義顧名思義,請求成功率代表所有請求中,成功接收到響應(yīng)的請求所占的比例。系統(tǒng)的吞吐量和請求成功率是掛鉤的。2.3.2 測試方法請求成功率是響應(yīng)時間、TPS 等指標的前提,在成功率滿足大于99.9% 的前提下,響應(yīng)時間、TPS 滿足預(yù)期。成功率的測試方法,可參考2.1 、 2.2 章節(jié)中關(guān)于響應(yīng)時間、TPS 的測試方法。2.3.3 分析評估標準要求:負載測試、

15、穩(wěn)定性測試,請求成功率要求大于99.9% 。2.4 CPU 使用率、內(nèi)存使用率、IO WAIT2.4.1 定義一、 CPU 使用率:CPU時間的百分比,共分為以下幾個維度,我們通常認為的CPU使用率是 us (用戶態(tài))+sy (系統(tǒng)態(tài))使用的 CPU百分比之和。Us:用戶態(tài)使用的cpu時間百分比Sy:系統(tǒng)態(tài)使用的cpu時間百分比Ni :用做 nice 加權(quán)的進程分配的用戶態(tài)cpu 時間百分比Id:空閑的 cpu時間百分比Wa: cpu 等待 IO 完成時間百分比,指通常我們講的IO WAITHi :硬中斷消耗時間百分比Si:軟中斷消耗時間百分比、內(nèi)存使用率內(nèi)存使用率通常是指已使用的內(nèi)存在總體內(nèi)

16、存中所占的比例。Total :內(nèi)存總數(shù)Used :已使用內(nèi)存數(shù)Free:空閑的內(nèi)存數(shù)Shared :多個進程共享的內(nèi)存總額,查詢結(jié)果總是0Buffers :Buffer Cache 磁盤緩存的大小Cached :cached Page Cache 磁盤緩存的大小可用內(nèi)存=free+buffer+cached所以計算內(nèi)存使用率公式為:內(nèi)存使用率= ( total-free-buffer-cached ) /total * 100%2.4.2 測試方法1 、通過 Nmon 采集記錄(可以同時監(jiān)控CPU 、內(nèi)存、IO 等各種豐富的性能資源指標),可以持續(xù)記錄測試過程每個時間點的資源使用情況,對于多核

17、系統(tǒng),也可以分別監(jiān)控每個CPU的使用情況??赏ㄟ^Nmon 采集的資源使用曲線、結(jié)合系統(tǒng)的性能表現(xiàn),初步完成系統(tǒng)的評估(判斷是否存在問題)。2、通過Linux 命令來進行系統(tǒng)問題的詳細分析(補充中)。top:查看進程活動狀態(tài)以及一些系統(tǒng)狀況,沒辦法記錄所有時間點的資源使用情況,好處是可以查看到進程級別的資源使用。vmstat :查看系統(tǒng)狀態(tài)、硬件和系統(tǒng)信息等,通過vmstat 查詢,查詢整體的CPU使用情況,同時也可以查詢進程、內(nèi)存、交換頁面、IO 的情況。iostat :查看 CPU負載,硬盤狀況sar( 同類的 tsar 阿里開源工具):綜合類工具,比較全面的查看系統(tǒng)狀況的工具,如文件的讀寫情況、系統(tǒng)調(diào)用的使用情況、磁盤I/O 、 CPU 效率、內(nèi)存使用狀況、進程活動及IPC 有關(guān)的活動。cpu 的情況mpstat :多核 CPU 的可以通過該命令查看某個netstat :查看網(wǎng)路情況tcpdumptcptrace :抓取網(wǎng)絡(luò)數(shù)據(jù)包和分析網(wǎng)絡(luò)數(shù)據(jù)包工具dstat:綜合工具,綜合了 vmstat, iostat, ifstat, netstat 等多個信息ps:進程查詢工具2.4.3 分析評估1 、通過比較 “最大吞吐量”和“系統(tǒng)資源使用率”之間的關(guān)系進行分析,系統(tǒng)必須在CPU 、內(nèi)存資源

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論