压力模型

PTS支持两种压力模式,分别为并发模式(即虚拟用户模式)和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个请求,可检验系统的吞吐能力。
  • 该模式下,请求无法及时响应时可能会导致较高的并发,异常情况请及时停止。
  • 该模式仅支持非自动递增进行压测,即您需在压测过程中手工调速。具体操作,请参见手动调速模式下调速
  • 同一链路中,后一个API的RPS值需小于等于前一个API的RPS值。

    基于您的实际业务考虑,一般正常业务链路转化模型应该为漏斗形状。例如,您的正常业务链路为:查看首页-查看商品详情-加入购物车-下单-付款。那么通常情况下,查看首页的用户数会比查看商品详情的用户数多,查看商品详情的用户数也会比加入购物车的用户数多,以此类推,所以后一个API的RPS值需小于前一个API的值,这样就比较符合漏斗模型。

配置量级及数据

设置好压测模式后,您还需要在施压配置页面设置压测起始量级与最大量级。

量级

压测数值

每个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. 单击右侧的批量设置,在弹出的对话框中输入数值,然后单击确认