调用CreateBenchmarkTask,创建压测任务。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
授权信息
下表是API对应的授权信息,可以在RAM权限策略语句的Action
元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:
- 操作:是指具体的权限点。
- 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
- 资源类型:是指操作中支持授权的资源类型。具体说明如下:
- 对于必选的资源类型,用背景高亮的方式表示。
- 对于不支持资源级授权的操作,用
全部资源
表示。
- 条件关键字:是指云产品自身定义的条件关键字。
- 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作 | 访问级别 | 资源类型 | 条件关键字 | 关联操作 |
---|---|---|---|---|
eas:CreateBenchmarkTask | *BenchmarkTask acs:eas:{#regionId}:{#accountId}:benchmarktask/* |
| 无 |
请求语法
POST /api/v2/benchmark-tasks HTTP/1.1
请求参数
名称 | 类型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
body | string | 否 | 压测任务的配置参数。 | { "base": { "duration": 600 }, "service": { "serviceName": "test_service", "requestToken": "test_token" }, "data": { "path": "https://larec-benchmark-cd.oss-cn-chengdu.aliyuncs.com/youbei/sv_dbmtl/data/youbei.warmup.tf.bin", "dataType": "binary" }, "optional": { "maxRt": 100 } } |
压测任务配置参数
eas-benchmark 整体配置分五部分,如下所示:
参数 | 说明 |
---|---|
base | 压测任务的基本配置。 |
service | 待压测服务的相关配置。 |
data | 压测请求数据的相关配置。 |
http | 服务请求 HTTP 相关配置。 |
optional | 压测任务可选高级配置。 |
表 1. base 描述表
参数 | 说明 |
---|---|
name | 【可选】压测任务的名称,如果不指定,会根据服务名自动生成。 |
duration | 【可选】压测任务执行的总时间,单位为秒,默认为 1200。 |
qps | 【可选】压测任务的目标(预期)QPS, 默认为 10000。 |
concurrency | 【可选】每个压测实例内创建的并发连接数, 初始值默认为 40,会动态修改。 |
agentCount | 【可选】压测任务创建的实例个数,初始值默认为 1,会动态修改。 |
表 2. service 描述表
当您需要通过访问网关的模式创建压测任务时,需要提交工单开通白名单权限。
参数 | 说明 |
---|---|
serviceUrl | 【可选】待压测服务的访问 URL,如果待压测服务是 EAS 服务,无需配置。 |
serviceName | 【可选】待压测服务的服务名,如果待压测服务是 EAS 服务,必须配置;如果待压测服务是自定义服务,无需配置。 |
requestToken | 【可选】访问服务的鉴权 token,如果 serviceName 被指定,无需配置。 |
endpointType | 【可选】服务支持的压测类型,支持 default(网关)、direct(直连模式) 两种模式,默认为 direct。 |
表 3. data 描述表
参数 | 说明 |
---|---|
content | 【可选】压测请求数据,字符串格式。 |
path | 【可选】测试数据源的 HTTP 路径,可以是单个文件,也支持.zip 文件,对.zip 文件下载后会自动解压。 |
dataType | 【可选】测试数据的类型,支持 text 和 binary 两种类型,默认为 text 类型。 |
multiLine | 【可选】测试数据是否是按行分割的,BOOL 类型,如果设置为 true,会将下载的数据逐行解析。 |
表 4、HTTP 描述表
参数 | 说明 |
---|---|
method | 【可选】HTTP 请求方法,默认为 POST 类型。 |
host | 【可选】请求主机 HOST 设置,默认为空。 |
headers | 【可选】HTTP 请求 HEADER 设置,LIST 类型,例如:["Authorization:aaa", "Content-Type:text"] 。 |
timeout | 【可选】HTTP 请求延时,单位为毫秒,默认 20000。 |
表 5. optional 描述表
参数 | 说明 |
---|---|
mode | 【可选】压测模式,支持以下三种模式: auto(自动加压模式):默认值。eas-benchmark 控制器会自动创建用于压测的 Agent Worker,并设置合适的并发,通过自动寻优的算法来寻找服务的承压上限。 scan(周期加压模式):根据您指定的起始 QPS(minQPS)、QPS 上限(maxQPS)、QPS 增长时间间隔(adjustInterval)和 QPS 增长步长(qpsGrowthDelta)等参数,动态加压,当服务承载到达指定的 maxRT、maxQPS 或服务压测出现错误数量超出容忍程度(faultTolerate)时为止。 manual(手动加压模式):固定压测 Agent 数量及每个 Agent 的并发数,您可以在压测过程中动态调整 Agent 数量及 Agent 并发数。 |
adjustInterval | 【可选】自动加压的动态调整间隔,单位为秒,默认为 60。例如设置为 30, 则每隔 30 秒调整加压阈值。 |
minQPS | 【可选】在自动加压过程中 QPS 的最小值,默认为 100。 |
maxQPS | 【可选】在自动加压过程中 QPS 的最大值,默认为 10000。 |
maxRT | 【可选】期望的最大 RT,超过该阈值会自动调节 QPS,直到实时 RT 符合预期。 |
qpsGrowthDelta | 【可选】在自动加压过程中 QPS 每次增长的数值,默认为 50 。 |
faultTolerate | 【可选】请求错误(非 200 状态码)率的容忍程度,默认为 0.001。 |
faultAction | 【可选】在请求错误率超过 faultTolerate 设定的阈值时,压测的行为,可选值:stop (维持当前 qps, 不再继续加压);revise(动态调整 QPS,直到请求错误率符合预期) |
返回参数
示例
正常返回示例
JSON
格式
{
"RequestId": "40325405-579C-4D82********",
"TaskName": "benchmark-larec-test-1076",
"Region": "cn-shanghai",
"Message": "Benchmark task [foo] is Creating"
}
错误码
访问错误中心查看更多错误码。
变更历史
变更时间 | 变更内容概要 | 操作 |
---|
暂无变更历史