调用CreateCloudBenchTasks接口创建压测任务。

数据库自治服务DAS提供智能压测功能,帮助您验证您的实例规格是否需要扩容,有效应对业务流量高峰。更多信息,请参见智能压测。数据库需满足如下前提条件:

  • 源数据库仅支持RDS MySQL高可用版或三节点企业版、PolarDB MySQL集群版或历史库。
  • 目标数据库实例为RDS MySQL、PolarDB MySQL。
  • 实例已接入DAS,详情请参见接入阿里云数据库实例
  • 需开启DAS专业版,详情请参见DAS专业版

请求参数

名称 类型 是否必选 示例值 描述
Action String CreateCloudBenchTasks

系统规定参数。取值:CreateCloudBenchTasks

TaskType String pressure test

压测任务类型。取值:

  • pressure test(默认):智能压测,将从源实例上捕获的流量,按照目标实例规格支持的极限速度,在目标实例上进行回放。
  • smart pressure test:生成压测,通过分析和学习短时间内在源实例上捕获的流量,生成和原始流量的业务模型和流量分布基本一致的流量进行持续压测,减少从源实例采集数据的时间,降低存储成本和性能开销。
SrcInstanceId String rm-2ze1jdv45i7l6****

源实例ID,仅支持RDS MySQL、PolarDB MySQL实例,您可通过调用GetInstanceInspections接口获取。

说明DstTypeInstance时,本参数需要传入。
Description String test-das-bench-0501

压测任务描述。

SrcPublicIp String None

备用参数。

DstInstanceId String rm-2ze1jdv45i7l6****

目标实例ID,仅支持RDS MySQL、PolarDB MySQL实例,您可通过调用GetInstanceInspections接口获取。

说明DstTypeInstance时,本参数需要传入。
GatewayVpcId String vpc-t4nsnwvpbc1h76ja4****

数据库网关的专有网络ID。

说明ClientType取值为ECS,则此参数必传入。
GatewayVpcIp String 172.30.29.246

数据库网关的IP地址或域名。

说明ClientType取值为ECS,则此参数必传入。
ClientType String ECS

压测机器类型。取值:

  • ECS:您需要自己准备数据库网关
  • DAS_ECS:DAS自动购买和部署的ECS。
RequestStartTime String 1608888296000

压测任务的开始时间,格式为Unix时间戳,单位为毫秒。

RequestEndTime String 1608888296001

压测任务的结束时间,格式为Unix时间戳,单位为毫秒。

RequestDuration String 86400000

压测任务的持续时间,单位为毫秒。

Rate String 1

源实例流量在目标实例上的回放速度,回放速度必须是正整数,取值:0~30,默认为1

SmartPressureTime String 86400

生成压测的持续时间。

说明TaskTypesmart pressure test时本参数需要传入。
DtsJobClass String medium

DTS迁移任务规格,您可以通过调用DescribeCloudbenchTask接口获取。

说明 压测任务需要先将源实例基准数据迁移至目标实例,当您新建DTS任务时需要传入本参数。
DtsJobId String 23127

DTS迁移任务ID,您可调用ConfigureDtsJob接口获取。

说明 已在DTS控制台创建完DTS任务时本参数必传入。
SrcSuperAccount String admin

源端实例高权限账号。取值:admin

说明DstTypeInstance时,本参数需要传入。
SrcSuperPassword String admin1234

源端实例高权限账号的密码。

说明DstTypeInstance时,本参数需要传入。
DstSuperAccount String root

目标实例的高权限账号。

DstSuperPassword String root1234

目标实例高权限账号的密码。

DstType String Instance

目标实例的类型。取值:

  • Instance(默认):实例ID。
  • ConnectionString:实例的连接地址。
DstConnectionString String rm-de21209****.mysql.rds.aliyuncs.com

目标实例的连接地址,仅支持RDS MySQL、PolarDB MySQL实例。

说明 DstTypeConnectionString本参数有效。
DstPort String 3306

目标实例的端口。

说明 DstTypeConnectionString本参数有效。
WorkDir String /tmp/bench/

压测生成的临时目录。

BackupId String 229132

备份集ID,可通过查询备份列表接口DescribeBackups获取。

BackupTime String 2021-04-23T13:22:14Z

备份的时间。格式为:yyyy-MM-ddTHH:mm:ssZ(UTC时间)。

Amount String 1

创建压测任务的总个数,取值:0~30,默认为1

EndState String WAIT_TARGET

压测任务结束后的状态。取值:

  • WAIT_TARGET:准备压测的目标实例。
  • WAIT_DBGATEWAY:准备压测部署。
  • WAIT_SQL:准备全量SQL。
  • WAIT_LOGIC:准备开始回放流量。
说明 当压测任务执行完EndState设置的状态之后,任务将直接到达完成状态。

返回数据

名称 类型 示例值 描述
Code String 200

返回的状态码。

Message String Successful

请求返回消息。

说明 请求成功时该参数返回Successful,请求失败时会返回请求异常信息(如错误码等)。
RequestId String B6D17591-B48B-4D31-9CD6-9B9796B2****

请求ID。

Success String true

请求是否执行成功:

  • true:执行成功。
  • false:执行失败。
Data Array of String "Data": { "total": 1, "list":[...] }, "Code": 200, "Success": true }

详细信息列表,包括信息总数、错误码等。

示例

请求示例

http(s)://das.cn-shanghai.aliyuncs.com/?Action=CreateCloudBenchTasks
&ConsoleContext=None
&TaskType=pressure test
&SrcInstanceId=rm-2ze1jdv45i7l6****
&Description=test-das-bench-0501
&SrcPublicIp=192.0.2.0
&DstInstanceId=rm-2ze1jdv45i7l6****
&GatewayVpcId=vpc-t4nsnwvpbc1h76ja4****
&GatewayVpcIp=172.30.29.246
&ClientType=ECS
&RequestStartTime=1608888296000
&RequestEndTime=1608888296001
&RequestDuration=86400000
&Rate=1
&SmartPressureTime=86400
&DtsJobClass=medium
&DtsJobId=23127
&SrcSuperAccount=admin
&SrcSuperPassword=admin1234
&DstSuperAccount=root
&DstSuperPassword=root1234
&DstType=Instance
&DstConnectionString=rm-de21209****.mysql.rds.aliyuncs.com
&DstPort=3306
&WorkDir=/tmp/bench/
&BackupId=229132
&BackupTime=2021-04-23'T'13:22'14'
&Amount=1
&EndState=WAIT_TARGET
&公共请求参数

正常返回示例

XML格式

HTTP/1.1 200 OK
Content-Type:application/xml

<CreateCloudBenchTasksResponse>
    <Code>200</Code>
    <Message>Successful</Message>
    <RequestId>B6D17591-B48B-4D31-9CD6-9B9796B2****</RequestId>
    <Success>true</Success>
    <Data>"Data": { "total": 1, "list":[...] }, "Code": 200, "Success": true }</Data>
</CreateCloudBenchTasksResponse>

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

{
  "Code" : "200",
  "Message" : "Successful",
  "RequestId" : "B6D17591-B48B-4D31-9CD6-9B9796B2****",
  "Success" : "true",
  "Data" : [ "\"Data\": { \"total\": 1, \"list\":[...] }, \"Code\": 200, \"Success\": true }" ]
}

错误码

HttpCode 错误码 错误信息 描述
400 InvalidParams The request parameters are invalid. 请求参数错误

访问错误中心查看更多错误码。