想要购买性能测试工具,如何计算自己需要多少并发用户?

作者:性能测试   发布时间:2021-05-07

如果我们需要采购一款性能测试工具,我们想要知道,到底需要多少并发用户数合适?买的太多,需要很高的预算;买的太少,又达不到效果。


目前大多数的软件架构,大多采用先并发,后排队的机制。先并发,就是软件系统有个并发个数,就是同时可以处理多少个请求。例如,一个软件可以有15个并发,就是能够满足同时处理15个请求。如果每个请求处理的时间是200ms,那么每秒钟,可以处理的请求个数是:15*(1000/200)=75个。

排队,就是如果已经有15个请求正在被处理,后来的请求就必须排队等待。这就有个等待时间的问题。比如,一下来了750个请求,根据每秒处理75个计算,就需要10秒才能处理完成。如果系统实时性很强,要求5秒内必须完成,如果没有完成,交易就会被取消,那么我们可以发现,750个请求,其中375个成功了,其他的都失败了(超时)。


原则上来看,一般软件的并发个数都不是很高,除非部署了一个大的集群。如果只考虑tps(每秒通过的交易/请求个数),我们根据每个交易间隔就可以计算出来。比如上面的场景,我们可以要求不能一下来750个,可以在每个请求之间间隔1秒,或者每个交易(包括间隔)为1秒。这样,在上文钟,如果tps是75,那么并发用户数75个就可以了。


当然,如果我们想要模拟更真实的用户场景,我们可以根据数据来计算交易的间隔时间(这个部分,可以去搜索相关的文章)。有了间隔时间,有了对tps的要求,就可以很容易的计算。比如,间隔时间是T,并发个数=tps*T。比如按照上文的例子,如果间隔时间为0.5秒,那么并发个数为75*0.5=37.5个。


间隔时间,就是作为真实的用户,平均多长时间会发起一次请求。这个大概用在一段时间内发生的请求总数,除以所使用的时间,就可以计算出来。


下面,我们举一个实际的例子。

我们期望系统的tps,能够达到2000,间隔时间为3秒,那么并发个数(VU)=2000*3=6000并发。这样做比较真实。


如果担心预算过高,那么如果真实的交易处理时间不超过1秒,那么我们也可以购买VU=2000*1=2000个。这样我们也可以得到比较接近的效果。

如果交易处理时间,在tps比较高的时候,会变的更长,假设较长是5秒。我们可以让VU=2000*5=10000即可。


根据上面的说明,我们就可以来估算,大概你需要购买多少个VU了。大概个数跟被测试系统能够容忍的较大等待时间,以及需要达到的tps个数相关。

推荐阅读:

接口测试和性能测试的区别

移动APP性能测试包括哪些方面?

性能测试、负载测试、压力测试有什么区别?

性能测试需要做些什么?

APM全链路压测怎么做?


本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-60725088-8054),我们将立即处理,马上删除。



沪ICP备07036474号-4 |

沪公网安备 31010702003220号

2015-2021 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd.