系統(tǒng)吞吐量、TPS(QPS)、用戶并發(fā)量、性能測試概念和公式_第1頁
系統(tǒng)吞吐量、TPS(QPS)、用戶并發(fā)量、性能測試概念和公式_第2頁
系統(tǒng)吞吐量、TPS(QPS)、用戶并發(fā)量、性能測試概念和公式_第3頁
系統(tǒng)吞吐量、TPS(QPS)、用戶并發(fā)量、性能測試概念和公式_第4頁
系統(tǒng)吞吐量、TPS(QPS)、用戶并發(fā)量、性能測試概念和公式_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、系統(tǒng)吞吐量、TPS(QPS)、用戶并發(fā)量、性能測試概念和公式 2013-02-21 19:47 人閱讀 評論(2) 收藏 舉報(bào) 分類: 軟件工程(25) 作者同類文章XPS:下面是性能測試的主要概念和計(jì)算公式,記錄下:一系統(tǒng)吞度量要素:一個(gè)系統(tǒng)的吞度量(承壓能力)與request對CPU的消耗、外部接口、IO等等緊密關(guān)聯(lián)。單個(gè)reqeust對CPU消耗越高,外部系統(tǒng)接口、IO影響速度越慢,系統(tǒng)吞吐能力越低,反之越高。系統(tǒng)吞吐量幾個(gè)重要參數(shù):QPS(TPS)、并發(fā)數(shù)、響應(yīng)時(shí)間QPS(TPS):每秒鐘request/事務(wù)數(shù)量并發(fā)數(shù):系統(tǒng)同時(shí)處理的request/事務(wù)數(shù)響應(yīng)時(shí)間:一般取平均響應(yīng)時(shí)間(

2、很多人經(jīng)常會把并發(fā)數(shù)和TPS理解混淆)理解了上面三個(gè)要素的意義之后,就能推算出它們之間的關(guān)系:QPS(TPS)= 并發(fā)數(shù)/平均響應(yīng)時(shí)間 或者 并發(fā)數(shù) = QPS*平均響應(yīng)時(shí)間 一個(gè)典型的上班簽到系統(tǒng),早上8點(diǎn)上班,7點(diǎn)半到8點(diǎn)的30分鐘的時(shí)間里用戶會登錄簽到系統(tǒng)進(jìn)行簽到。公司員工為1000人,平均每個(gè)員上登錄簽到系統(tǒng)的時(shí)長為5分鐘??梢杂孟旅娴姆椒ㄓ?jì)算。QPS = 1000/(30*60) 事務(wù)/秒平均響應(yīng)時(shí)間為 = 5*60 秒并發(fā)數(shù)= QPS*平均響應(yīng)時(shí)間 = 1000/(30*60) *(5*60)=166.7一個(gè)系統(tǒng)吞吐量通常由QPS(TPS)、并發(fā)數(shù)兩個(gè)因素決定,每套系統(tǒng)這兩個(gè)值都有

3、一個(gè)相對極限值,在應(yīng)用場景訪問壓力下,只要某一項(xiàng)達(dá)到系統(tǒng)最高值,系統(tǒng)的吞吐量就上不去了,如果壓力繼續(xù)增大,系統(tǒng)的吞吐量反而會下降,原因是系統(tǒng)超負(fù)荷工作,上下文切換、內(nèi)存等等其它消耗導(dǎo)致系統(tǒng)性能下降。決定系統(tǒng)響應(yīng)時(shí)間要素我們做項(xiàng)目要排計(jì)劃,可以多人同時(shí)并發(fā)做多項(xiàng)任務(wù),也可以一個(gè)人或者多個(gè)人串行工作,始終會有一條關(guān)鍵路徑,這條路徑就是項(xiàng)目的工期。系統(tǒng)一次調(diào)用的響應(yīng)時(shí)間跟項(xiàng)目計(jì)劃一樣,也有一條關(guān)鍵路徑,這個(gè)關(guān)鍵路徑是就是系統(tǒng)影響時(shí)間;關(guān)鍵路徑是有CPU運(yùn)算、IO、外部系統(tǒng)響應(yīng)等等組成。二系統(tǒng)吞吐量評估:我們在做系統(tǒng)設(shè)計(jì)的時(shí)候就需要考慮CPU運(yùn)算、IO、外部系統(tǒng)響應(yīng)因素造成的影響以及對系統(tǒng)性能的初步預(yù)

4、估。而通常境況下,我們面對需求,我們評估出來的出來QPS、并發(fā)數(shù)之外,還有另外一個(gè)維度:日PV。通過觀察系統(tǒng)的訪問日志發(fā)現(xiàn),在用戶量很大的情況下,各個(gè)時(shí)間周期內(nèi)的同一時(shí)間段的訪問流量幾乎一樣。比如工作日的每天早上。只要能拿到日流量圖和QPS我們就可以推算日流量。通常的技術(shù)方法:1.找出系統(tǒng)的最高TPS和日PV,這兩個(gè)要素有相對比較穩(wěn)定的關(guān)系(除了放假、季節(jié)性因素影響之外)2.通過壓力測試或者經(jīng)驗(yàn)預(yù)估,得出最高TPS,然后跟進(jìn)1的關(guān)系,計(jì)算出系統(tǒng)最高的日吞吐量。B2B中文和淘寶面對的客戶群不一樣,這兩個(gè)客戶群的網(wǎng)絡(luò)行為不應(yīng)用,他們之間的TPS和PV關(guān)系比例也不一樣。A)淘寶淘寶流量圖:淘寶的TP

5、S和PV之間的關(guān)系通常為最高TPS:PV大約為1 : 11*3600(相當(dāng)于按最高TPS訪問11個(gè)小時(shí),這個(gè)是商品詳情的場景,不同的應(yīng)用場景會有一些不同)B) B2B中文站B2B的TPS和PV之間的關(guān)系不同的系統(tǒng)不同的應(yīng)用場景比例變化比較大,粗略估計(jì)在1 : 8個(gè)小時(shí)左右的關(guān)系(09年對offerdetail的流量分析數(shù)據(jù))。旺鋪和offerdetail這兩個(gè)比例相差很大,可能是因?yàn)榕老x暫的比例較高的原因?qū)е隆T谔詫毉h(huán)境下,假設(shè)我們壓力測試出的TPS為100,那么這個(gè)系統(tǒng)的日吞吐量=100*11*3600=396萬這個(gè)是在簡單(單一url)的情況下,有些頁面,一個(gè)頁面有多個(gè)request,系統(tǒng)

6、的實(shí)際吞吐量還要小。無論有無思考時(shí)間(T_think),測試所得的TPS值和并發(fā)虛擬用戶數(shù)(U_concurrent)、Loadrunner讀取的交易響應(yīng)時(shí)間(T_response)之間有以下關(guān)系(穩(wěn)定運(yùn)行情況下):TPS=U_concurrent / (T_response+T_think)。并發(fā)數(shù)、QPS、平均響應(yīng)時(shí)間三者之間關(guān)系 上圖橫坐標(biāo)是并發(fā)用戶數(shù)。綠線是CPU使用率;紫線是吞吐量,即QPS;藍(lán)線是時(shí)延。 開始,系統(tǒng)只有一個(gè)用戶,CPU工作肯定是不飽合的。一方面該服務(wù)器可能有多個(gè)cpu,但是只處理單個(gè)進(jìn)程,另一方面,在處理一個(gè)進(jìn)程中,有些階段可能是IO階段,這個(gè)時(shí)候會造成CPU等待,

7、但是有沒有其他請 求進(jìn)程可以被處理)。隨著并發(fā)用戶數(shù)的增加,CPU利用率上升,QPS相應(yīng)也增加(公式為QPS=并發(fā)用戶數(shù)/平均響應(yīng)時(shí)間。)隨著并發(fā)用戶數(shù)的增加,平均響應(yīng)時(shí)間也在增加,而且平均響應(yīng)時(shí)間的增加是一個(gè)指數(shù)增加曲線。而當(dāng)并發(fā)數(shù)增加到很大時(shí),每秒鐘都會有很多請求需要處理,會造成進(jìn)程(線程)頻繁切換,反正真正用于處理請求的時(shí)間變少,每秒能夠處 理的請求數(shù)反而變少,同時(shí)用戶的請求等待時(shí)間也會變大,甚至超過用戶的心理底線。來源:軟件性能測試的基本概念和計(jì)算公式一、軟件性能的關(guān)注點(diǎn)對一個(gè)軟件做性能測試時(shí)需要關(guān)注那些性能呢?我們想想在軟件設(shè)計(jì)、部署、使用、維護(hù)中一共有哪些角色的參與,然后再考慮這些

8、角色各自關(guān)注的性能點(diǎn)是什么,作為一個(gè)軟件性能測試工程師,我們又該關(guān)注什么?首先,開發(fā)軟件的目的是為了讓用戶使用,我們先站在用戶的角度分析一下,用戶需要關(guān)注哪些性能。對于用戶來說,當(dāng)點(diǎn)擊一個(gè)按鈕、鏈接或發(fā)出一條指令開始,到系統(tǒng)把結(jié)果已用戶感知的形式展現(xiàn)出來為止,這個(gè)過程所消耗的時(shí)間是用戶對這個(gè)軟件性能的直觀印象。也就是我們所說的響應(yīng)時(shí)間,當(dāng)相應(yīng)時(shí)間較小時(shí),用戶體驗(yàn)是很好的,當(dāng)然用戶體驗(yàn)的響應(yīng)時(shí)間包括個(gè)人主觀因素和客觀響應(yīng)時(shí)間,在設(shè)計(jì)軟件時(shí),我們就需要考慮到如何更好地結(jié)合這兩部分達(dá)到用戶最佳的體驗(yàn)。如:用戶在大數(shù)據(jù)量查詢時(shí),我們可以將先提取出來的數(shù)據(jù)展示給用戶,在用戶看的過程中繼續(xù)進(jìn)行數(shù)據(jù)檢索,這

9、時(shí)用戶并不知道我們后臺在做什么。用戶關(guān)注的是用戶操作的相應(yīng)時(shí)間。其次,我們站在管理員的角度考慮需要關(guān)注的性能點(diǎn)。1、 相應(yīng)時(shí)間2、 服務(wù)器資源使用情況是否合理3、 應(yīng)用服務(wù)器和數(shù)據(jù)庫資源使用是否合理4、 系統(tǒng)能否實(shí)現(xiàn)擴(kuò)展5、 系統(tǒng)最多支持多少用戶訪問、系統(tǒng)最大業(yè)務(wù)處理量是多少6、 系統(tǒng)性能可能存在的瓶頸在哪里7、 更換那些設(shè)備可以提高性能8、 系統(tǒng)能否支持724小時(shí)的業(yè)務(wù)訪問再次,站在開發(fā)(設(shè)計(jì))人員角度去考慮。1、 架構(gòu)設(shè)計(jì)是否合理2、 數(shù)據(jù)庫設(shè)計(jì)是否合理3、 代碼是否存在性能方面的問題4、 系統(tǒng)中是否有不合理的內(nèi)存使用方式5、 系統(tǒng)中是否存在不合理的線程同步方式6、 系統(tǒng)中是否存在不合理的

10、資源競爭那么站在性能測試工程師的角度,我們要關(guān)注什么呢?一句話,我們要關(guān)注以上所有的性能點(diǎn)。二、軟件性能的幾個(gè)主要術(shù)語1、響應(yīng)時(shí)間:對請求作出響應(yīng)所需要的時(shí)間網(wǎng)絡(luò)傳輸時(shí)間:N1+N2+N3+N4應(yīng)用服務(wù)器處理時(shí)間:A1+A3數(shù)據(jù)庫服務(wù)器處理時(shí)間:A2響應(yīng)時(shí)間=N1+N2+N3+N4+A1+A3+A22、并發(fā)用戶數(shù)的計(jì)算公式系統(tǒng)用戶數(shù):系統(tǒng)額定的用戶數(shù)量,如一個(gè)OA系統(tǒng),可能使用該系統(tǒng)的用戶總數(shù)是5000個(gè),那么這個(gè)數(shù)量,就是系統(tǒng)用戶數(shù)。同時(shí)在線用戶數(shù):在一定的時(shí)間范圍內(nèi),最大的同時(shí)在線用戶數(shù)量。同時(shí)在線用戶數(shù)=每秒請求數(shù)RPS(吞吐量)+并發(fā)連接數(shù)+平均用戶思考時(shí)間平均并發(fā)用戶數(shù)的計(jì)算:C=n

11、L / T其中C是平均的并發(fā)用戶數(shù),n是平均每天訪問用戶數(shù)(login session),L是一天內(nèi)用戶從登錄到退出的平均時(shí)間(login session的平均時(shí)間),T是考察時(shí)間長度(一天內(nèi)多長時(shí)間有用戶使用系統(tǒng))并發(fā)用戶數(shù)峰值計(jì)算:C約等于C + 3*根號C其中C是并發(fā)用戶峰值,C是平均并發(fā)用戶數(shù),該公式遵循泊松分布理論。3、吞吐量的計(jì)算公式指單位時(shí)間內(nèi)系統(tǒng)處理用戶的請求數(shù)從業(yè)務(wù)角度看,吞吐量可以用:請求數(shù)/秒、頁面數(shù)/秒、人數(shù)/天或處理業(yè)務(wù)數(shù)/小時(shí)等單位來衡量從網(wǎng)絡(luò)角度看,吞吐量可以用:字節(jié)/秒來衡量對于交互式應(yīng)用來說,吞吐量指標(biāo)反映的是服務(wù)器承受的壓力,他能夠說明系統(tǒng)的負(fù)載能力以不同方

12、式表達(dá)的吞吐量可以說明不同層次的問題,例如,以字節(jié)數(shù)/秒方式可以表示數(shù)要受網(wǎng)絡(luò)基礎(chǔ)設(shè)施、服務(wù)器架構(gòu)、應(yīng)用服務(wù)器制約等方面的瓶頸;已請求數(shù)/秒的方式表示主要是受應(yīng)用服務(wù)器和應(yīng)用代碼的制約體現(xiàn)出的瓶頸。當(dāng)沒有遇到性能瓶頸的時(shí)候,吞吐量與虛擬用戶數(shù)之間存在一定的聯(lián)系,可以采用以下公式計(jì)算:F=VU * R /其中F為吞吐量,VU表示虛擬用戶個(gè)數(shù),R表示每個(gè)虛擬用戶發(fā)出的請求數(shù),T表示性能測試所用的時(shí)間4、性能計(jì)數(shù)器是描述服務(wù)器或操作系統(tǒng)性能的一些數(shù)據(jù)指標(biāo),如使用內(nèi)存數(shù)、進(jìn)程時(shí)間,在性能測試中發(fā)揮著“監(jiān)控和分析”的作用,尤其是在分析統(tǒng)統(tǒng)可擴(kuò)展性、進(jìn)行新能瓶頸定位時(shí)有著非常關(guān)鍵的作用。資源利用率:指系統(tǒng)各種資源的使用情況,如cpu占用率為68%,內(nèi)存占用率為55%,一般使用“資源實(shí)際使用/總的資源可用量”形成資源利用率。5、思考時(shí)間的計(jì)算公式Think Time,從業(yè)務(wù)角度來看,這個(gè)時(shí)間指用戶進(jìn)行操作時(shí)每個(gè)請求之間的時(shí)間間隔,而在做新能測試時(shí),為了模擬這樣的時(shí)間間隔,引入了思考時(shí)間這個(gè)概念,來更加真實(shí)的模擬用戶的操作。在吞吐量這個(gè)公式中F=VU * R / T說

溫馨提示

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

最新文檔

評論

0/150

提交評論