文档

压力预估图

更新时间:

通过施压配置页面的压力预估图,您可以预判性能测试中压力的分布情况。压力预估图会随着每个施压配置项的调整而变化。本文将说明如何解读压力预估图,并综合说明压测模式、Cookie共享、压测量级等配置的不同,对性能测试压力的影响。

前提条件

已了解施压配置基本操作,更多信息,请参见压力模型

并发自动递增模式下的压力预估图

以压测场景中是否使用数据导出指令为例,对压力预估图进行说明。

  • 未使用数据导出指令时,全部串联链路同时发起压测。压力预估图1

    压力预估图说明:

    • 压测量级(图标 ①):

      自动递增模式下,全场景并发量按照递增百分比逐级增加至最大并发量。

    • 起始并发

      所有串联链路的起始并发量之和。例如,上图中两个串联链路的起始并发(图标 ②)都是5,所以压力预估图中的起始并发是10。

    • 压测总时长

      表示整个压测持续的时间。自动递增时,计算方法如下:

      压测时长(分钟)=单量级持续时长 * [(100% - 起始百分比)/递增百分比 + 1]

      其中,(100% - 起始百分比)/递增量级百分比表示递增次数,在计算中需向上取整。

      根据上图中的配置(图标 ③),单量级持续时长为1分钟,起始百分比为10%,递增百分比为20%,则压测时长为1 * [(100-10)/20 +1 ]= 6 分钟。其中,递增次数(100-10)/20向上取整得出5。

      说明 如存在多个串联链路且耗时不同的情况,总压测时长以耗时最长的串联链路为准。
    • 预估消耗VUM:可快速预估消耗的VUM,数据仅供参考,请以实际消耗为准。
  • 若使用数据导出指令,被导出Cookie的串联链路需要先进行压测,完成数据量级(登录用户量级)的准备,其他链路再开始压测。

    例如,导出串联链路1的Cookie并共享至全场景,压力预估图将以数据准备完成为划分点,将压测分为两个阶段。图示中①为起始量级,图示中②为数据准备完成后的起始量级。

    压力预估图2.png
    • 压测量级

      • 串联链路1设置了导出Cookie,需要先压测完成数据量级准备。压力预估图中会假定该串联链路递增至最大并发量(即15)时,完成数据量级准备。

        说明 实际压测中,数据准备完成的时刻由串联链路1的吞吐速率决定。
      • 起始量级:串联链路1的起始并发(即1)。

      • 数据准备完成后的起始量级:其他串联链路的起始量级之和。例如,上图中数据准备完成后的起始量级是2,即串联链路2的起始并发量。
    • 压测总时长

      表示整个压测持续的时间,计算方法如下:

      压测时长(分钟)=数据量级准备时间(即共享Cookie的串联链路的压测时长)+ 其他串联链路压测时长

      每个串联链路压测时长(分钟)=单量级持续时长 * [(100% - 起始百分比)/递增百分比 + 1]

      其中,(100% - 起始百分比)/递增量级百分比表示递增次数,在计算中需向上取整。

      根据上图中的配置,数据准备时长和压测时长均为2 * [(100-10)/20 +1 ]= 12分钟。

RPS模式、手动调速模式下的压力预估图

压测配置为非自动递增模式时,整个压测过程中压测量级会在起始并发与最大并发的范围内波动,故压力预估图使用区间示意线提供预览。

根据压测场景中是否使用数据导出指令,对两种情况分别说明:

  • 未使用数据导出指令时,全部串联链路同时发起压测,压测量级是全场景压测量级之和。
  • 若使用了数据导出指令,被导出数据的串联链路需要先进行压测,完成数据量级(登录用户量级)的准备,其他链路再开始压测。

    例如,将串联链路1的Cookie共享至全场景,压力预估图将以数据准备完成为划分点,将压测分为两个阶段。

    压力预估图3
    • 压测量级

      • 数据准备完成前的量级=串联链路1的总RPS范围内。

        例如如上图所示,串联链路1中所有API的起始RPS之和2,最大RPS之和为20,所以数据准备完成前的压测量级预估是介于[2,20]之间。

      • 数据准备完成后的量级=其他串联链路的总RPS范围内。

        例如如上图所示,其他串联链路只有串联链路2,它的起始RPS是1,最大RPS是10,所以数据准备完成后的压测量级预估是介于[1,10]之间。

    • 压测总时长

      非自动递增模式下,压力预估图中会假定串联链路1压测时长的20%时间完成数据量级准备。系统规定,数据量级准备时间最少为1分钟。

      说明 实际压测中,数据准备完成的时刻由串联链路1的吞吐速率决定。

参考文档

数据导出指令

  • 本页导读 (1)
文档反馈