全部产品

压力预估图

更新时间:2019-02-27 13:54:05

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

阅读本文前,您应该已了解如何进行施压配置的基本操作。

压力预估图说明(以并发模式、自动递增为例)

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

  • 第一种情况:未使用数据导出 Cookie 时,全部串联链路同时发起压测。

    自动递增非cookie

    压力预估图说明:

    1. 压测量级(图标 ①):

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

    2. 起始并发

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

    3. 压测时长(分钟)

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

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

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

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

      说明:如存在多个串联链路且耗时不同的情况,总压测时长以耗时最长的串联链路为准。

  • 第二种情况:如果使用了数据导出 Cookie 功能,被导出 Cookie 的串联链路需要先进行压测,完成数据量级(登录用户量级)的准备,其他链路再开始压测。

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

    压力预估图说明_自动递增

    压力预估图说明:

    • 压测量级

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

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

      • 起始量级:串联链路 1 的起始并发(即 1)。

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

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

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

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

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

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

压力预估图说明(以 RPS 模式、非自动递增为例)

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

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

  • 第一种情况:未使用数据导出 Cookie 时,全部串联链路同时发起压测。

    压测量级,是全场景压测量级之和。

  • 第二种情况:如果使用了数据导出 Cookie 功能,被导出 Cookie 的串联链路需要先进行压测,完成数据量级(登录用户量级)的准备,其他链路再开始压测。

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

    压力预估图说明_非自动递增

    压力预估图说明:

    • 压测量级

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

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

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

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

    • 压测时长

      示例中,串联链路 1 的 Cookie 共享至全场景。非自动递增模式下,压力预估图中会假定串联链路 1 压测时长的 20% 时刻(如图中为 2 分钟时),完成数据量级准备。系统规定,数据量级准备时间最少为 1 分钟。

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