压测场景的创建
进行性能测试,我们需要创建一个压测场景。一个压测场景包含一个或多个并行的业务(即串联链路),每个业务包含一个或多个串行的请求(即API)。
场景创建
登录CPTS控制台,左侧导航栏选择CPTS发压,点击「创建场景」完成场景的创建。
对象配置
-
在创建场景页面选择对象配置页签,配置串联链路和压测API。
- 添加多个API:单击添加压测API,为某串联链路添加多个API。启动压测后,多个API会按照顺序发起请求。
- 添加多个串联链路:单击+添加串联链路,为压测场景添加多个串联链路。启动压测后,多个串联链路会同时发起请求。
- 配置基本信息、Header定义、Body定义、出参信息、检查点设置等。 压测API的设置如下图所示:
基本信息
参数 | 说明 |
---|---|
压测URL | 请求的URL,可包含参数。若需使用系统变量或前置API定义的参数,请键入”$”符号。 |
请求方式 | 可以选择GET、POST、PUT或DELETE。 |
超时时间 | 超时时间表示施压端等待被压测端响应的超时时间,对于在线业务5秒已经是极限,主要行业的响应时间参考: 互联网企业:500毫秒以下,例如网上商城业务10毫秒左右; 金融企业:1秒以下为佳,部分复杂业务3秒以下; 保险企业:3秒以下为佳; 制造业:5秒以下为佳。 |
允许302跳转 | 允许跳转即统计跳转终态页面的状态码(最大深度为10),否则按照当前请求的返回结果统计。 |
Header定义
在进行CPTS发压时,经常需要特定请求来进行压测,这时需要通过定义Header的Key和Value来指定特殊的访问请求。
Body定义
若需进一步指定特殊请求来进行压测,或定义Header不能满足您的压测需求时,可以通过定义Body来实现。
压测API的请求方式为POST或PUT才能定义Body。
参数 | 说明 |
---|---|
x-www-form-urlencoded | 即数据被编码为键/值对。 |
raw |
Text(text/plain):纯文本格式的编码形式(TEXT/XML/HTML)。 JSON(application/json):JSON字符串。 JavaScript(application/javascript):JavaScript字符串。 XML(application/xml):Application/XML类型的XML字符串。 XML(text/xml):TEXT/XML类型的XML字符串。 HTML(text/html):HTML字符串。 |
注:Body定义和Header定义中输入参数的方式可以参考文档参数配置。
出参和检查点
在压测过程中,有时需要通过设置出参和检查点实现某些业务需求或判断业务是否符合预期且成功。具体可参考出参和检查点。
压力配置
在压力配置中,可以设置不同的压力来源、压测模式、递增模式、压测量级,进行个性化的性能压测,更方便的检验业务的性能;同时为了保障更准确的压测流量来源,可以进行流量定制,设置流量分布,模拟各地用户访问业务。
压测配置
参数 | 说明 |
---|---|
压力来源 |
|
压测模式 |
压力模式有两种:并发模式(虚拟用户模式)、RPS模式(吞吐量模式)。
|
递增模式 | 包括自动递增和手动调速模式
按照固定的递增百分比进行压测量级的递增,并在每个量级维持固定压测时长,以便观察业务系统运行情况。需设置最大并发、递增百分比和单量级持续时长。 并发模式下需设置的最大并发。在压测过程中需要在最低并发和最高并发之间手动增减。 RPS模式下需设置的最大RPS。在压测过程中需要在最低RPS和最高RPS之间手动增减。 |
压测总时长 | 设置压测的时间长度。 |
压测量级分配
参数 | 说明 |
---|---|
流量定制 | 通过指定施压机的地理位置,即可模拟当地的用户流量。开启流量定制后,可以进行流量分布设置对施压机地域分布进行配置,从而实现施压流量地域分布的定制化。 |
最大并发权重 | 该串联链路占全场景的权重。 如串联链路1设置为1,串联链路2设置为3,则表示各自在场景最大并发总占25%和75%。 在并发模式下,设置串联链路级别的最大并发权重和起始百分比。并发模式测试的是主要是系统承载并发用户数,而场景中的多个串联链路之间一般有一定的业务比例和实际吞吐关系,故只需在串联链路维度,依据比例关系,设置最大并发和起始并发。 |
启始百分比 | 该串联链路自身并发的起始比例。 |
最大RPS | 在RPS模式下,测试的是单API(接口)的服务端吞吐能力,故需要给每个API设置最大RPS与起始RPS。 |
起始RPS | 设置单API的起始RPS。 |
批量设置 | 并发模式和RPS模式均可以使用批量设置。 选中需要设置的所有串联链路或API。 单击批量设置,在弹窗中输入数值。 单击确认,完成设置。 |
压力预估图
通过施压配置页面的压力预估图,您可以预判性能测试中压力的分布情况。
配置完对象配置和压力配置后,点击刷新按钮,查看压力预估图,如下图所示。
高级配置
在使用CPTS压测过程中,可以在高级设置中设置请求的建连超时时间、新增成功状态码或将域名与指定的IP地址关联。
参数 | 说明 |
---|---|
建连超时时间 | 压测请求访问压测API的可超时时间。输入框中只需填写500 ms的倍数,可填1分钟内。例如若超时时间为5000 ms,则只需填写10。 |
新增成功状态码 | 可自定义请求成功的状态码。新增的状态码和2xx码都视为请求成功。例如当判断请求返回302为正常,但不能使用302跳转时,可以使用此功能新增请求成功的状态码,确保压测结果准确性。 |
域名绑定 | 域名绑定是指将域名与指定的IP地址关联。压测时,压测流量将直接访问绑定的IP地址,实现对目标设施的压测。 |
压测监控
在进行性能测试的过程中,无论是活动预演、容量评估,还是定位系统瓶颈、排查性能问题,都需要实时观察各项指标的变化,包括CPTS本身的压测指标和服务器、数据库、网络等方面的指标。具体可参考云监控。
调试场景
在做好相关配置后,即可针对当前的配置发起一次真实的请求进行调试,具体可参考调试场景调试场景 。
点击“上一次调试结果”,即可查询最近一次的调试结果,方便反复查看和分析。