性能测试常用指标计算汇总
性能测试常用指标计算汇总
预估步骤:
注册用户数-日均UV量-每日的PV量-每天的并发量
峰值预估:平常量的2-3倍;
根据并发量(并发,事务数),存储容量计算系统容量。
客户需求:3-5年用户数达到1000万注册用户;
500万*0.05
2000万,活跃用户5%,即
每秒并发数预估:
每天的UV为200万(二八原则【即1000万*20%】);
每日每个用户点击浏览30次;
PV量:200*30=6000万;
集中访问量:24小时*0.2=4.8小时,6000万*0.8=4800万(二八原则,【每天有20%集中访问时间,同时有80%的集中访问量】)
每分并发量:4.8小时*60分钟=288分钟,每分钟访问量约等于4800万/288分钟≈16.7万次
每秒并发量:4.8小时*60分钟*60秒=17280秒钟,每秒钟访问量等于4800万/17280秒≈2778次
假设:高峰期为平常值得三倍,则每秒得并发数可以达到2778*3 = 8334次/秒
服务器预估(以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))*(5.6+8.7+4.8)*8 = 121.49Mbps
峰值PV下的日常网站带宽=(13.37w / (24*60*60))*(5.6+8.7+4.8)*8=236.45Mbps
峰值网站带宽:(日均PV/统计时间(s))* 平均页面大小(KB)*8*5=mMbps
日常PV下的峰值网站带宽=(6.87w / (24*60*60))*(5.6+8.7+4.8)*8*5=607.45Mbps
峰值PV下的峰值网站带宽=(13.37w / (24*60*60))*(5.6+8.7+4.8)*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)*2.5*5 = 9831
线下单机基线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.02*a万人。
日活用户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秒 think Time + 进行业务操作时间 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/24*60*60*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
公式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))
以上内容转载于https://www.cnblogs.com/NiceTime/p/8555881.html ,并对部分数据加以说明。