目录:导读
- 前言
- 一、Python编程入门到精通
- 二、接口自动化项目实战
- 三、Web自动化项目实战
- 四、App自动化项目实战
- 五、一线大厂简历
- 六、测试开发DevOps体系
- 七、常用自动化测试工具
- 八、JMeter性能测试
- 九、总结(尾部小惊喜)
前言
1、稳定性+并发压力测试TPS计算
1)稳定性测试TPS计算
①普通计算公式:TPS=总请求数 / 总时间按照需求得到基础数据,在去年第20周,某平台有5万的浏览量那么总请求数我们可以估算为5万(1次浏览都至少对应1个请求)总请求数 = 50000请求数总时间:由于不知道每个请求的具体时间,我们按照普通方法,我们可以按照一天的时间进行计算总时间=1天=1*24 小时=24 * 3600 秒套入公式可得:TPS = 50000/24*3600秒= 0.58tps。
结论:按照普通计算方法,我们在测试环境对相同的系统进行性能测试时,每秒能够发送0.58tsps就可以满足线上的需要。
②二八原则计算方法二八原则是指80%的请求在20%的时间内完成计算公式:TPS=总请求数 80% / (总时间20%)按照公式进行计算:TPS=50000 0.8请求数 / 2436000.2秒 = 2.3tps
结论:按照二八原则计算,在测试环境我们的TPS只要能达到2.3请求数每秒就能满足线上需要。二八原则的估算结果会比平均值的计算方法更能满足用户需求。
③按照业务运营数据进行计算如xxx消费券发放时间固定开始时间,那个用户将会在活动开始前的30分钟内陆续开始访问xxx首页。
进入消费券主页,在活动开始前5分钟大量访问,活动倒计时10秒和活动开始后2分钟内会有用户不断点击和刷新页面。
根据以往活动数据,活动期间,平台总请求数据未50000,时间持续180分钟。得到总请求=50000,时间=158*60=9480秒。再根据二八原则,80%用户在20%时间内访问。
得出:tps=50000x80%/9480x20%=40000/1896=21tps/s计算模拟用户峰值业务操作(压力测试)的并发量,根据这些数据统计图,可以得出结论:可以拿21tps/s作为稳定性测试的参考值。
2)并发压力测试tps计算
三个概念:
用户数:数据库中的总用户数。
在线用户数:登录状态的用户数,挂在系统上,但是不会对系统产生压力。
并发用户数:真正产生操作的用户,产生压力之源。
①秒杀活动压测数据计算假如平台总注册用户数有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用户的并发访问压力。
2、最大并发数估算
平均并发数计算:
平均并发数 = (最大活跃用户数 * 访问页面所需时间) / 页面被持续访问时间最大活跃用户数: 不管采用什么公式计算,都只能使用最大活跃用户数进行计算,不能按用户总量计算;
访问页面所需时间: 单个用户在访问页面所需的单位时间,比如用户打开首页这个动作,从开始到加载完成所需要的时间;
访问页面持续时间: 活跃用户在高峰时间段访问页面的持续时间,如:早上9点半~10点是高峰访问时间段,则持续时间是30分钟;
举个例子:某站有1W活跃用户,在9点整进行的促销活动,预计持续抢购1分钟,已测得活动页面需要6秒完全加载,则我们可以进行计算:
平均并发 = ( 100000 * 6 )/ 1 * 60 = 1000从上面的公式,我们也不难得出结论:
页面加载时间越长,并发越大。前面用户的访问未结束,后面的用户又对系统发起了访问的情况;
促销活动开展的时间越长,并发越小。用户的访问变得稀疏,系统的也压力变小;
峰值并发数计算
峰值并发数 = 平均并发数 + 3 * √平均并发数平均并发数:按上面提到的方式计算
3 * √平均并发数:影响因子
按照上面提到的例子,我们的进一步计算:
峰值并发=1000+3*√1000=1095简单粗略估算:
并发数估计 = 最大活跃用户数 * 10%在对并发数精确度要求不高的情况,可以按 最大活跃数 * 8%~12% 进行简单估算。
完整版!企业级性能测试实战,速通Jmeter性能测试到分布式集群压测教程
| 下面是我整理的2025年最全的软件测试工程师学习知识架构体系图 |
一、Python编程入门到精通
二、接口自动化项目实战
三、Web自动化项目实战
四、App自动化项目实战
五、一线大厂简历
六、测试开发DevOps体系
七、常用自动化测试工具
八、JMeter性能测试
九、总结(尾部小惊喜)
人生最动人的篇章,往往写在最艰难的转折之后。当你觉得力不从心时,请记住:每一个"不可能"的突破,都始于"再试一次"的勇气。你的坚持,正在为世界书写新的可能!
别让他人的质疑成为你的枷锁!你体内蕴藏着改变命运的力量,每个微小的进步都在为辉煌铺路。当别人停下脚步时,你的坚持就是最有力的回应。向前走,属于你的舞台正等待绽放!