前言
对于刚接触性能测试的同学来说,好像都会遇到这么一个问题:我怎么确保我压测的数据是切合实际且具有信服力的呢?性能目标如何明确?下面就一起来看看。
并发线程的预估
响应时间
响应时间可以通过基准测试获得的平均响应时间,也可以有一个心理预期值(能接受的最大响应值),如:接口响应不超过200ms。
相对并发与绝对并发
并发又分为相对并发和绝对并发
绝对并发:即在同一时刻实现的并发
相对并发:通过工具中设置的线程数来实现
现实场景中绝对并发较难实现,所以业界相对并发测试较多,但是如何确定相对并发中的并发用户数与线程数,仍然是很多初学者疑惑的问题。
并发用户数预估
在正常情况下,对于并发用户数的预估,我们可以取user表总数的5%左右,假定有10000用户,则取500并发用户,不同测试场景下值不同,压力测试下可至80%。
单线程处理数/s
而我们的接口响应时间为200ms,则一秒钟单线程处理数为1000/200,5/s。
并发线程数预估
故我们的并发线程数可以预估为:并发用户数/单线程每秒处理数,即500/5,100个并发线程,在这个基础上,我们可以上浮30%(现实场景中往往是过载),即130的并发线程数
其他条件干扰
如生成环境:8核,16G内存,10M带宽的服务器
测试环境:4核,4G内存,2M带宽
我们在对测试环境进行性能测试时,必然会有相应缩水,这时并发可以取最大的缩水值,即生产环境的1/2,250并发数/5,得到50再*130%,65个并发线程即可。