性能測試經常使用指標計算彙總

預估步驟:
註冊用戶數-日均UV量-每日的PV量-天天的併發量;
峯值預估:日常量的2~3倍;
根據併發量(併發,事務數),存儲容量計算系統容量。前端

客戶需求:3~5年用戶數達到1000萬註冊用戶;web

500萬*0.05後端

2000萬,活躍用戶5%,即服務器

每秒併發數預估:
天天的UV爲200萬(二八原則);
每日天天點擊瀏覽30次;
PV量:200*30=6000萬;
集中訪問量:24*0.2=4.8小時會有6000萬*0.8=4800萬(二八原則);
每分併發量:4.8*60=288分鐘,每分鐘訪問4800/288=16.7萬(約等於);
每秒併發量:16.7萬/60=2780(約等於);
假設:高峯期爲日常值的三倍,則每秒的併發數能夠達到8340次;
1毫秒=1.3次訪問。網絡

服務器預估(以Tomcat服務器舉例):
按一臺Web服務器,支持每秒300個併發計算。日常須要10臺服務器(約等於);[Tomcat默認配置是150]
高峯期:須要30臺服務器;併發

容量預估:70/90原則app

系統CPU通常維持在70%左右的水平,高峯期達到90%的水平,是不浪費資源,並比較穩定的。內存,IO相似。性能

以上預估僅供參考,由於服務器配置,業務邏輯複雜度等都有影響。在此CPU、硬盤、網絡等再也不進行評估。測試

峯值QPS:原理:天天80%的訪問集中在20%的時間裏,這20%時間叫作峯值時間
    公式:( 總PV數 * 80% ) / ( 天天秒數 * 20% ) = 峯值時間每秒請求數(QPS)網站

PV:訪問量即Page View, 即頁面瀏覽量或點擊量,用戶每次刷新即被計算一次
    單臺服務器天天PV計算
    公式1:天天總PV = QPS * 3600 * 6
    公式2:天天總PV = QPS * 3600 * 8

 

UV:獨立訪客即Unique Visitor,訪問您網站的一臺電腦客戶端爲一個訪客。00:00-24:00內相同的客戶端只被計算一次服務器數量:
    機器:峯值時間每秒QPS / 單臺機器的QPS = 須要的機器
    機器:ceil( 天天總PV / 單臺服務器天天總PV )

1)訪問頁面的帶寬
訪問官網首頁:5.6MB
訪問TPS首頁:8.7MB
訪問沃好首頁:4.8MB

2)計算PV
平常PV:tps(5.97w)+walhao(0.9w)=6.87w
峯值PV:tps(13.16w)+walhao(0.21w)=13.37w

平常網站帶寬=(日均pv/統計時間(s))*平均頁面大小(KB)*8=nMbps
平常PV下的平常網站帶寬=(6.87w/(24*60*60=86400))*(5.6+8.7+4.8=19.1)*8=121.49Mbps
峯值PV下的平常網站帶寬=(13.37w/(24*60*60=86400))*(5.6+8.7+4.8=19.1)*8=236.45Mbps


峯值網站帶寬=(日均pv/統計時間(s))*平均頁面大小(KB)*8*5=mMbps
平常PV下的峯值網站帶寬=(6.87w/(24*60*60=86400))*(5.6+8.7+4.8=19.1)*8*5=607.45Mbps
峯值PV下的峯值網站帶寬=(13.37w/(24*60*60=86400))*(5.6+8.7+4.8=19.1)*8*5=1182.25Mbps


併發鏈接數 = PV / 統計時間 * 頁面衍生鏈接次數 * http響應時間 * 因數 / web服務器數量;
10wPV併發鏈接數 c=((10*10000PV/86400秒)*50個派生鏈接數*1秒內響應*5倍峯值)/1臺Web服務器=289
13.7wPV併發鏈接數 c=((13.7*10000)/86400)*(414+82=496)*2.5*5=9831


PV量:200*30=6000萬;
集中訪問量:24*0.2=4.8小時會有6000萬*0.8=4800萬(二八原則);
每分併發量:4.8*60=288分鐘,每分鐘訪問4800/288=167萬(約等於);
每秒併發量:16.7萬/60=2780(約等於);
假設:高峯期爲日常值的三倍,則每秒的併發數能夠達到8340次;


線下單機基線TPS =線上日均交易量/86400/機器數*160%*F
1天:86400秒
160%:50%的時間完成80%的業務,即80%/50%=160%
後端核心服務響應時間不超過100ms
後端通常服務響應時間不超過100ms
前端頁面響應時間不超過3s

 

1)響應時間
通常依據1秒 3秒 5秒原則,判斷一個請求的處理是否快慢,同時也須要根據系統的實際功能來調整這個判斷規則。


2)活躍用戶數及併發用戶數
註冊用戶數:經過註冊功能註冊到系統的用戶。

在線用戶數(活躍用戶數):用戶登錄系統後,處於在線狀態,但並未都在對系統進行功能操做。

併發用戶數:用戶登錄系統後,處於在線狀態,有都在對系統進行功能操做。

a)行業視頻APP
APP1:
註冊用戶數:a萬
日訪問ip數:a/7=18.21萬人
日活PV量:b/7=40.36萬次
活躍用戶佔比:IP數%註冊用戶數 18.21/a=0.5%。

b)APP1:1
註冊用戶數:a萬
日訪問ip數:3.5萬人
日活PV量:0.72萬次
活躍用戶佔比:IP數%用戶數 3.5/200=1.75%。

c)APP3:
註冊用戶數a萬,天天活躍用戶數:2%,即活躍用戶數:0.02a萬人。
日活用戶2萬,每一年增加30%,共增加3年。

公式1:
用戶在線時長:用戶從登錄到退出的時間,單位爲小時。
用戶使用系統的時間:用戶在16個小時(8~23)內都會使用系統。
用戶使用系統的時間16個小時,平均每30分鐘操做1次,16個小時共操做32次。
平均併發用戶數c=在線用戶數 n* 用戶在線時長 L/用戶使用系統的時間 T
c=2w*2/16=2500

峯值併發用戶數c=平均併發用戶數 c+開3次根(平均併發用戶數 c)
c'=c+開3次根(c)=2500+14=2514

40萬*10*60/16*60*60=4166.6tps

公式2:
平均併發用戶數 c=在線用戶數 n*20%
c=2w*20%=4000

峯值併發用戶數 c=平均併發用戶數 c*調整因子 r(2~3)
c'=c*r=2000*3=6000

公式3:
平均併發用戶數 vu=吞吐量 tps*T(思考時間3秒 thinkTime +進行業務操做時間 runTime)


3)pv及tps,及pv與tps的換算關係
將來3年的日pv量:天天PV2萬,則3年按30%的增加,3年後日PV:2萬*(1+30%)²≈3.38萬

公式1:
按8020原則計算:80%的業務操做在20%的時間內完成。
tps=(每小時PV*80%)/(3600秒*20%)
1000萬*0.8/10*60*0.2=

1千萬*0.8/3600*16*0.2=1千萬/900*16


1000萬*0.8/86400*0.2

800萬/17280=460tps*4=1850tps

100線程 200MB 50tps

9月 訪問量: 237676 uv: 27644 9
8月 訪問量: 15925 uv: 572 27.8
7月 訪問量: 14939 uv: 602 24.8

20萬*21*0.8/86400*0.2=194.4tps 800tps


公式2:
tps=vu*R/T

吞吐量 F=虛擬用戶數 vu* 請求的個數 R/性能測試時間 T
用戶發出額請求個數 R=性能測試時間 T/用戶思考時間 Ts


4)測試環境與生產環境差別比例計算
因生產環境與測試環境存在差別,所以測試環境中測試的性能要求,按比例換算成生成環境上時,如何符合要求,則在生產環境也基本能夠達到要求。
測試環境與生產環境比例:
n=(生產web服務器數/測試web服務器數),(生產app服務器數/測試app服務器數))*(生產服務器內存/測試服務器內存)
n=(16/9)*(200/64)=5.5


平均TPS=(總PV*80%)/(24*60*60*(T/24))/服務器數量

平均TPS=(1.6*總PV)/(24*60*60)/服務器數量
峯值TPS=(1.92*總PV)/(24*60*60)/服務器數量

系統業務處理能力

TPS=併發數(vu)*行爲習慣:每人請求數(pv)/執行時間(t)(思考時間(tt)+響應時間(rt))

相關文章
相關標籤/搜索