每个API可以视为业务系统的一个节点,处理能力不同导致可承载的业务量也不一致。在施压配置中,您可以指定不同的压测模式、压测量级,对压测配置进行个性化设置,由此来检验各业务节点的性能。

内容简介

本文将介绍以下内容:

配置压测模式

配置量级及数据

配置过程中,您可以通过查看压力预估图,预判测试压力分布。压力预估图的解读,请参见压力预估图

配置压测模式

施压配置区域如下图所示。

PTS压测配置
参数 描述
压力来源
  • 国内公网(默认模式):发起压测的节点来自全国各地,根据压测的量级来分配对应的节点资源(IP)。
  • 阿里云内网:使用阿里云经典网络或阿里云VPC网络来进行压测。若需使用阿里云内网压测,请参见阿里云内网压测
    • 选择经典网络时,压力来源来自该地域的阿里云经典网络施压机。
    • 选择VPC网络时,您需要继续选择地域、VPC-ID、安全组、虚拟交换机等信息,压力来源来自您选择的阿里云VPC网络施压机。
    说明
    • 阿里云内网压测对持有278元及以上可用资源包的用户开放。
    • 阿里云内网压测发起节点支持的地域以界面为准。如有其他地域的支持需求,您可以提交工单
    • 在VPC有专线打通了其它云或者线下机房的情况下,若需压测到对应区域,需要确保VPC和这些区域在同一个网段(如都在10.0.0.0/8)。
压力模式 压力模式有两种:并发模式(虚拟用户模式)、RPS模式(Requests Per Second,每秒请求数,吞吐量模式)。
  • 并发模式:“并发”是指虚拟并发用户数,从业务角度,也可以理解为同时在线的用户数。

    适用场景:如果需要从客户端的角度出发,摸底业务系统各节点能同时承载的在线用户数,可以使用该模式设置目标并发。

    • 并发模式下,需要指定全场景的最大并发数,再设置各串联链路的并发权重。
    • 串联链路内各API的响应速度不同(表现为响应时间不同),所以单位时间内API的并发数也会不同。API响应速度越快,单位时间内累积在API上的并发用户数越少。

      例如,共100个虚拟用户需要操作某个事务(即串联链路)。假设,该串联链路中共有2个API,API 1响应速度快而API 2响应速度慢。则更多的虚拟用户将等待在API 2上,API 2需要更多的线程资源来处理更多的虚拟用户请求。

  • RPS模式:RPS(Requests Per Second)是指每秒请求数。

    适用场景:RPS模式即“吞吐量模式”,通过设置每秒发出的请求数,从服务端的角度出发,直接衡量系统的吞吐能力,免去并发到RPS的繁琐转化,一步到位。

    • API接口(如电商加购物车、下单等)主要用TPS(Transaction Per Second, 每秒事务数)来衡量系统的吞吐能力,选择该模式可以直接按照预期的TPS设置RPS。如果希望检验“下单”接口是否能达到500 TPS的预期,那么设置RPS为500,每秒发送500个请求,可检验系统的吞吐能力。
    • 该模式下,请求无法及时响应时可能会导致较高的并发,异常情况请及时停止。
    • 该模式仅支持非自动递增进行压测(即需在压测过程中手工调速)。
递增模式
  • 自动递增(仅适用于并发模式)。

    按照固定比例进行压测量级的递增,并在每个量级维持固定压测时长,以便观察业务系统运行情况。

    设置最大并发递增百分比(如10%)和单量级持续时长(如1分钟)。

    说明 进行压测时,您可以随时对场景或串联链路进行手动调速,自动递增模式会自动失效。
  • 手动调速

    设置压测总时长及并发模式下的最大并发

压测总时长 设置压测的时间长度。

配置量级及数据

设置好压测模式后,需要设置压测起始量级与最大量级,并支持使用来源IP扩展。量级及数据配置1.png
压测数值

每个API可以视为业务系统的一个节点,处理能力不同导致可承载的业务量也不一致。并发模式与RPS模式施压的方式不同,故压测数值上的设置也会不同。

说明 无论选取何种压测模式,各场景最大值的总和不可超过该账户下对应资源包的最大VU、RPS。
参数 描述
最大并发权重 该串联链路占全场景的权重。如串联链路1置为1,串联链路2置为3,则表示各自在场景最大并发总占25%和75%。

在并发模式下,设置串联链路级别的最大并发权重起始百分比。并发模式摸底的是系统承载并发用户数(从客户端业务考虑),而场景中的多个串联链路(事务)之间一般有一定的业务比例和实际吞吐关系(如下单和加购按照业务评估是1:0.8),故只需在串联链路(事务)维度,依据比例关系,设置最大并发和起始并发。

起始百分比 该串联链路自身的起始比例,默认10%。
最大RPS 在RPS模式下,摸底的是单API(接口)的服务端吞吐能力,故需要给每个API设置最大RPS起始RPS
起始RPS 设置单API的起始RPS。
批量设置 并发模式和RPS模式均可以使用批量设置。
  1. 勾选需要设置的所有串联链路或API。
  2. 单击左下角批量设置,在弹框中输入数值。
  3. 单击确认,完成设置。
来源IP扩展 仅在国内公网压测模式下使用有效。

来源IP是指发起压测流量的IP地址。来源IP扩展功能允许您根据并发量或RPS,在一定范围内(该范围以控制台页面为准)增加施压IP地址数,减少因以下原因引起的压测异常。

说明 若遇到以下情况,请优先按照以下处理方案执行,来源IP扩展只能帮助您减少问题发生的概率。
  • SLB限制问题:首先请结合购买的SLB产品计费类型,关注规格限制和带宽限制,是否已经到达上限。另外,当SLB是服务最外层,且接口是HTTPS或者开启了7层会话保持功能,压测出现一些503而且后端并没有相关流量和日志,可能出现了SLB单IP地址限流问题
  • 高防或WAF的问题:未关闭高防或WAF可能触发流量拦截。建议您基于业务评估,压测时临时关闭高防或WAF。如果您不想关闭,可以考虑增加PTS的UA放行规则来避免压测流量被拦截的情况。
  • 使用CDN或全站加速:建议您接近或者超出已有业务峰值时,提前提交工单报备。

流量定制

在压力来源是公网的情况下,PTS性能测试的压测流量是分布式的,从全国大小城市和运营商随机调度。通过流量定制功能,您可以指定压测流量发起的地域或运营商,并配置其占比。

说明 若您在压测时需要在一段时间内独占压测机器,可以使用独立资源池功能。详情请参见独立资源池
流量定制2.png

流量定制操作步骤如下:

  1. 选中流量定制
  2. 单击详细配置
  3. 地域定制对话框中,配置以下选项。
    • 维度选择:目前支持根据区域或运营商指定压力来源。其他功能将陆续开放。
    • 资源定制:可添加多条分配规则,指定具体的地域或运营商及其IP数占比。操作步骤如下:

      1. 单击+添加地区+添加运营商
      2. 选择地域或运营商,并输入其机器数占比。
    • 启动策略:选中定制资源不足时,优先启动压测,会优先匹配指定的资源定制需求,指定资源不足时会随机分配资源,满足压测需求。若没有选中,则只有匹配到指定资源时,才会启动压测。