全部产品
云市场

为何设置了300并发,实际压测过程中并未能达到?

更新时间:2019-06-19 10:43:31

并发模式下,有时会遇到下图之类的问题,设置了并发模式下,最大 300 并发,但压测中并发并没有达到设置的值。

并发上不去

基本概念

  • 并发模式:即虚拟用户模式。详细定义,参见并发虚拟用户、RPS、TPS的解读

  • 并发用户数(以下简称“并发”):现实系统中同时操作业务的用户数量,在性能测试工具中一般称为虚拟用户(Virutal User)。最大并发用户数,即在压测中最多多少用户同时对压测业务产生压力。

  • RPS:Request Per Second,每秒请求数。RPS 是从服务端的视角衡量系统每秒处理的请求数,一个并发用户可能产生多个请求。

说明并发是基于串联链路的,假设串联链路的并发是200,包含了7个API,也就是7个API的并发之和是200。200个并发相当于200个人,按照事情(API)的顺序去做7件事情(API)。有些事情做起来快,等的人就少(即API的rt小,其并发就少);所有7件事情的人一共是200,并不是做第一件事情的人始终是200。

原因分析

由于压测的施压机计算资源有限,同时为了保证压测流量更稳定,在施压时对 RPS 有一定的限制(资源包规格中不同并发有相应的 RPS 上限)。RPS 如果到达上限,即不会增加更大的压力。

例如,将最大并发设置为 300 时,在施压配置页面您可以看到对应的 RPS 限制为 4000:

rps限制

以最上面图片所示的压测为例,您会发现平均 RPS(总请求数/总压测时长)已经达到 4001(4001是采集周期内计算的合理误差),在压测趋势图中已经达到了 4000 的 RPS 上限,所以并发不会再继续往上涨了。

趋势图

解决办法

推荐您在施压配置中,配置更高的目标并发,再次进行压测,或者使用 IP 扩展的功能增加 IP 个数,也可以将两种办法结合一起使用获得更高的 RPS 上限。

IP扩展