調用CreateBenchmarkTask,創建壓測任務。
調試
您可以在OpenAPI Explorer中直接運行該接口,免去您計算簽名的困擾。運行成功后,OpenAPI Explorer可以自動生成SDK代碼示例。
授權信息
下表是API對應的授權信息,可以在RAM權限策略語句的Action
元素中使用,用來給RAM用戶或RAM角色授予調用此API的權限。具體說明如下:
- 操作:是指具體的權限點。
- 訪問級別:是指每個操作的訪問級別,取值為寫入(Write)、讀取(Read)或列出(List)。
- 資源類型:是指操作中支持授權的資源類型。具體說明如下:
- 對于必選的資源類型,用背景高亮的方式表示。
- 對于不支持資源級授權的操作,用
全部資源
表示。
- 條件關鍵字:是指云產品自身定義的條件關鍵字。
- 關聯操作:是指成功執行操作所需要的其他權限。操作者必須同時具備關聯操作的權限,操作才能成功。
操作 | 訪問級別 | 資源類型 | 條件關鍵字 | 關聯操作 |
---|---|---|---|---|
eas:CreateBenchmarkTask |
|
| 無 |
請求語法
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"
}
錯誤碼
訪問錯誤中心查看更多錯誤碼。
變更歷史
變更時間 | 變更內容概要 | 操作 |
---|
暫無變更歷史