【软件测试面试突击班】2024吃透软件测试面试最全八股文攻略教程,一周学完让你面试通过率提高90%!(自动化测试)
一般推荐,如果你:
做项目开发的时候,不止一次被性能测试问“这个服务性能要求是多少?”他期望能得到一个这次接口TPS压到50还是100,返回时间是100ms还是200ms的回答。然后压力测试的脚本就跑起来,挨个接口就去压了。
但作为产品我怎么知道报多少合适呢?(是的,在某些团队这是研发负责人应该考虑的)。通常我们是只知道业务量,怎么转换成tps、返回时间的要求呢?(有时候业务量都估算不出来,那这种场景下你就按最顶部的推荐的来测吧。)
现在,只要10分钟,让你了解怎么计算这些内容。
首先,需要知道不同的产品有不同的应对要求
继续计算,我们需要了解
Transactions Per Second(每秒传输的事物处理个数,或者说每秒系统接收的任务数量),系统接收到任务后会有一个处理时间。
在压力测试时,测试人员会主动按一定tps的量来主动发起接口请求,比如tps=50,就是每秒请求50次,获取一个平均的响应时间(单位一般都是毫秒ms)。压力测试人员口中的TPS50 200ms返回,就是指每秒测试人员主动发起50次请求,这些请求会在平均200ms返回。
由于其他技术指标如QPS(数据的每秒查询个数)等性能都会在tps这个维度上展示出来,因此可通过tps对系统性能进行简单判断,以满足日常性能测试需求。
直接上公式不太好理解,我们先看案例
某业务,类似秒杀型,用户估算有2W左右,每个用户平均请求2次接口(查询用户信息接口、查询业务接口), 这些用户大概率会在2分钟内会访问我们的系统,业务要保证用户2s能打开页面
TPS是系统每秒钟处理的任务数量,给定二业务场景,我们就需要先计算出来每秒需要系统处理多少任务,从而反推在压力测试的时候,需要给多大的TPS了。
最终结果就是
TPS数量 > 每秒要求处理请求数 * tps返回时间【按200ms计算】/1000ms
tps>(350 * 200)/1000,具体tps>70。
因此可让压力测试人员按照tps100来压接口,返回在200ms以内就满足性能要求。
当然如果实际tps50的返回时间为100ms,则按照这个粗略的公式来推算,也是能够支撑的(350 * 100/1000=35,也就是说tps高于35,返回100ms以内也是可以的)
如:一个100w访问的服务,每天访问集中白天8小时,每个用户大约会请求3个接口,每天早上9点是峰值。
首先计算日均请求数(每秒)
按8小时 100w访问量、平均3个接口请求计算
每秒日均请求数=100w(访问量)* 3(每个访问量平均请求接口数)/8(小时)/3600(切换成秒),结果就是每秒请求100次。
按接口200ms返回,tps需要> 100 * 200/1000,即>20就行了。
如考虑日常服务的峰值,则按4 * 日均,即每秒请求400次,则tps>80即可,因此可推荐按tps=100来做接口的压力测试。
如果觉得以上繁杂,反正你也可以参考这个结论:
最后,如需继续讨论,请留言哈。
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走!
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。