調用CreateBenchmarkTask,建立壓測任務。
調試
您可以在OpenAPI Explorer中直接運行該介面,免去您計算簽名的困擾。運行成功後,OpenAPI Explorer可以自動產生SDK程式碼範例。
調試
授權資訊
|
操作 |
存取層級 |
資源類型 |
條件關鍵字 |
關聯操作 |
|
eas:CreateBenchmarkTask |
*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,直到請求錯誤率符合預期) |
返回參數
|
名稱 |
類型 |
描述 |
樣本值 |
|
object |
返回結果。 |
||
| RequestId |
string |
請求 ID。 |
40325405-579C-4D82******** |
| TaskName |
string |
壓測任務名字。 |
benchmark-larec-test-1076 |
| Region |
string |
壓測任務所在的地區。 |
cn-shanghai |
| Message |
string |
請求返回資訊。 |
Benchmark task [foo] is Creating |
樣本
正常返回樣本
JSON格式
{
"RequestId": "40325405-579C-4D82********",
"TaskName": "benchmark-larec-test-1076",
"Region": "cn-shanghai",
"Message": "Benchmark task [foo] is Creating"
}
錯誤碼
訪問錯誤中心查看更多錯誤碼。
變更歷史
更多資訊,參考變更詳情。