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


    预估步骤:
    注册用户数-日均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))

  • 相关阅读:
    Catalan数(卡特兰数)
    100个乘客登机问题
    [设计模式]抽象工厂模式
    栈-队和队-栈
    java实现字符串反转
    java实现字符串按词反转
    windows上安装maven及eclipse中配置maven
    Windows 10 安装 Docker
    Win7操作系统安装IE10提示“安装前需要更新与安装程序版本”
    解决Jenkins权限配置错误,导致登录时出现没有Overall/read权限
  • 原文地址:https://www.cnblogs.com/NiceTime/p/8555881.html
Copyright © 2020-2023  润新知