预估步骤:
注册用户数-日均UV量-每日的PV量-每天的并发量;
峰值预估:平常量的2~3倍;
根据并发量(并发,事务数),存储容量计算系统容量。

客户需求:3~5年用户数达到1000万注册用户;

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原则

系统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))

 

posted on 2018-03-13 12:10  新美好时代  阅读(2201)  评论(0编辑  收藏  举报