性能测试常用指标计算汇总

性能测试常用指标计算汇总

预估步骤:

注册用户数-日均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 ,并对部分数据加以说明。

posted @ 2022-12-27 09:58  西夏一品唐  阅读(886)  评论(0编辑  收藏  举报