(1)普通计算公式:TPS= 总请求数 / 总时间
按照需求得到基础数据,在2022年第20周,某平台有5万的浏览量,那么总请求数我们可以估算为5万(1次浏览都至少对应1个请求)
总请求数 = 50000请求数
总时间:由于不知道每个请求的具体时间,我们按照普通方法,我们可以按照一天的时间进行计算,总时间 = 1天 = 1 * 24 小时 = 24 * 3600 秒
套入公式可得:TPS = 50000/24*3600秒= 0.58tps
结论:按照普通计算方法,我们在测试环境对相同的系统进行性能测试时,每秒能够发送0.58tsps就可以满足线上的需要
(2)二八原则计算方法
二八原则就是指80%的请求在20%的时间内完成
计算公式 : TPS = 总请求数 80% / (总时间20%)
**按照公式进行计算:TPS =50000* 0.8请求数 / 24*3600*0.2秒 = 2.3tps
结论:按照二八原则计算,在测试环境我们的TPS只要能达到2.3请求数每秒就能满足线上需要。二八原则的估算结果会比平均值的计算方法更能满足用户需求。
(3)按照业务运营数据进行计算
如xxx消费券的发放时间固定开始时间,那个用户将会在活动开始前的30分钟内陆续开始访问多彩宝首页,进入消费券主页,在活动开始前5分钟大量访问,活动倒计时10秒钟和活动开始后2分钟内会有用户不断点击和刷新页面,
根据以往活动数据,活动期间,平台总请求数据未50000,时间持续180分钟。那么得到总请求=50000,时间=158x60=9480秒;
再根据二八原则,80%用户在20%时间内访问,得出:tps=50000x80%/9480x20%=40000/1896=21tps/s
计算模拟用户峰值业务操作(压力测试)的并发量,根据这些数据统计图,可以得出结论:可以拿21tps/s作为稳定性测试的参考值
先说三个概念
1、用户数:数据库中的总用户数
2、在线用户数:登录状态的用户数,挂在系统上,但是不会对系统产生压力
3、并发用户数:真正产生操作的用户,产生压力之源
假如平台总注册用户数有100w,有10w用户约定好同时对某一接口进行访问,比如1分钟,陆续来访10w用户,那么我们系统并发用户是比实际的10w要小的
那一个秒杀活动开始时,10w用户在10秒内重复请求多次,平均3次每个人,那么tps=100000/10=10000tps,表明我们目标的tps应达到10000才能抗住100000用户的同时请求
平台注册用户数100w,用10w用户准备抢券,即10w人同时在10秒内访问抢券接口,在过程中每个用户可能会多次点击抢券,估算每个用户点击3次抢券接口,那么
tps=100000*3/10=30000tps,系统的目标tps需达到30000才抗住10w用户的并发访问压力