给定业务场景,我们就需要先计算出来每秒需要系统处理多少任务,从而反推在压力测试的时候,需要给多大的TPS了。首先,整个系统的总请求数=用户(2W)*每个用户请求数(2次)=40000次其次,每秒要求处理的请求数=总请求数/时间(切换到秒)即40000/2*60约350(333向上取个整)。最后,TPS并发数量与每个请求所消耗的时间,可实际计算出每秒实际能够处理的请求数。即每秒实际处理请求数量=tps数量*1000【1秒,需要切换为毫秒】/单组tps处理时间【这里是按200ms返回】因此,我们只要保证每秒实际处理请求数>每秒要求处理的请求数就可以了。最终结果就是TPS数量>每秒要求处理的请求数*tps返回时间【按200ms计算】/1000ms带入数据计算tps>(350 * 200)/1000,具体tps>70。因此可让压力测试人员按照tps100来压接口,返回在200ms以内就满足性能要求。当然如果实际tps50的返回时间为100ms,则按照这个粗略的公式来推算,也是能够支撑的(350*100)/1000=35,也就是说tps高于35,返回100ms以内也是可以的.案例2,我们来看一个日常服务的算法如:一个100w访问的服务,每天访问集中白天8小时,每个用户大约会请求3个接口,每天早上9点是峰值。首先计算日均请求数(每秒)按8小时100w访问量、平均3个接口请求计算每秒日均请求数=100w(访问量)*3(每个访问量平均请求接口数)/8(小时)/3600(切换成秒),结果就是每秒请求100次。按接口200ms返回,tps数量>100*200/1000,即>20就行了。如考虑日常服务的峰值,则按4倍的日均,即每秒请求400次,则tps>80即可,因此可推荐按tps=100来做接口的压力测试。
性能指标的估算--TPS