背景
做项目开发的时候,不止一次被性能测试问“这个服务性能要求是多少?”他期望能得到一个这次接口TPS压到50还是100,返回时间是100ms还是200ms的回答。然后压力测试的脚本就跑起来,挨个接口就去压了。
但作为产品我怎么知道报多少合适呢?(是的,在某些团队这是研发负责人应该考虑的)。通常我们是只知道业务量,怎么转换成tps、返回时间的要求呢?(有时候业务量都估算不出来,那这种场景下你就按最顶部的推荐的来测吧。)
现在,只要10分钟,让你了解怎么计算这些内容。
首先,需要知道不同的产品有不同的应对要求
性能测试的指标是怎么来的呢?
1、产品和运营要给出业务匡算:
这个服务,在多长时间段,多少人会访问
2、性能要求上,通常情况下的APP应该如何?
页面访问的2、5、8原理(用户进入服务2s内要展示完所有内容,超过5秒用户就无法忍受了,超过8秒就没有人再等了,直接关闭服务)
因此页面的渲染时间+资源文件的载入时间+接口的获取时间需要保证1s~2s内完成
3、这个条件下接口获取时间多长合适?
无脑建议200ms以内(考虑到你页面也要2s打开,还要给其他工作留时间)
怎么通过业务量来计算TPS多少合适呢?
直接上公式不太好理解,我们先看案例
案例1,秒杀型算法
案例的业务量要求
某业务,类似秒杀型,用户估算有2W左右,每个用户平均请求2次接口(查询用户信息接口、查询业务接口), 这些用户大概率会在2分钟内会访问我们的系统,业务要保证用户2s能打开页面
TPS的分析
TPS是系统每秒钟处理的任务数量,给定二业务场景,我们就需要先计算出来每秒需要系统处理多少任务,从而反推在压力测试的时候,需要给多大的TPS了。
如果觉得以上繁杂,反正你也可以参考这个结论:
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/177734.html原文链接:https://javaforall.net
