全部产品
Search
文档中心

数据库自治服务 DAS:CreateCloudBenchTasks - 创建压测任务

更新时间:Mar 22, 2024

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

接口说明

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

  • 源数据库仅支持 RDS MySQL 高可用系列或三节点企业系列、PolarDB MySQL 版的集群版或高压缩引擎(X-Engine)。
  • 目标数据库实例为 RDS MySQL、PolarDB MySQL 版。
  • 实例已接入 DAS,详情请参见接入阿里云数据库实例
  • 需开启 DAS 企业版,详情请参见 DAS 企业版

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。
  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
    • 对于必选的资源类型,用背景高亮的方式表示。
    • 对于不支持资源级授权的操作,用全部资源表示。
  • 条件关键字:是指云产品自身定义的条件关键字。
  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作访问级别资源类型条件关键字关联操作
hdm:CreateCloudBenchTasksWrite
  • 全部资源
    *

请求参数

名称类型必填描述示例值
TaskTypestring

压测任务类型。取值:

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

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

说明 DstTypeInstance 时,本参数需要传入。
rm-2ze1jdv45i7l6****
Descriptionstring

压测任务描述。

test-das-bench-0501
SrcPublicIpstring

备用参数。

None
DstInstanceIdstring

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

说明 DstTypeInstance 时,本参数需要传入。
rm-2ze1jdv45i7l6****
GatewayVpcIdstring

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

说明 ClientType 取值为 ECS,则此参数必传入。
vpc-t4nsnwvpbc1h76ja4****
GatewayVpcIpstring

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

说明 ClientType 取值为 ECS,则此参数必传入。
172.30.XX.XX
ClientTypestring

压测机器类型。取值:

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

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

1608888296000
RequestEndTimestring

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

1608888296001
RequestDurationstring

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

86400000
Ratestring

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

1
SmartPressureTimestring

生成压测的持续时间,单位为毫秒。

说明 TaskTypesmart pressure test时本参数需要传入。
86400000
DtsJobClassstring

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

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

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

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

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

说明 DstTypeInstance 时,本参数需要传入。
admin
SrcSuperPasswordstring

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

说明 DstTypeInstance 时,本参数需要传入。
test123
DstSuperAccountstring

目标实例的高权限账号。

root
DstSuperPasswordstring

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

test123
DstTypestring

目标实例的类型。取值:

  • Instance(默认):实例 ID。
  • ConnectionString:实例的连接地址。
Instance
DstConnectionStringstring

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

说明 DstTypeConnectionString 本参数有效。
rm-de21209****.mysql.rds.aliyuncs.com
DstPortstring

目标实例的端口。

说明 DstTypeConnectionString 本参数有效。
3306
WorkDirstring

压测生成的临时目录。

/tmp/bench/
BackupIdstring

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

229132
BackupTimestring

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

2021-04-23T13:22:14Z
Amountstring

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

1
EndStatestring

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

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

返回参数

名称类型描述示例值
object
Codestring

返回的状态码。

200
Messagestring

请求返回消息。

说明 请求成功时该参数返回 Successful,请求失败时会返回请求异常信息(如错误码等)。
Successful
RequestIdstring

请求 ID。

B6D17591-B48B-4D31-9CD6-9B9796B2****
Successstring

请求是否执行成功:

  • true:执行成功。
  • false:执行失败。
true
Dataarray

详细信息列表。

string

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

"Data": { "total": 1, "list":[...] }, "Code": 200, "Success": true }

示例

正常返回示例

JSON格式

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

错误码

HTTP status code错误码错误信息描述
400InvalidParamsThe request parameters are invalid.请求参数错误
403NoPermissionYou are not authorized to do this action.没有权限执行该操作

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

变更历史

变更时间变更内容概要操作
暂无变更历史