Membuat tugas uji beban (stress testing).
Coba sekarang
Test
RAM authorization
|
Action |
Access level |
Resource type |
Condition key |
Dependent action |
|
eas:CreateBenchmarkTask |
*BenchmarkTask
|
None | None |
Sintaks permintaan
POST /api/v2/benchmark-tasks HTTP/1.1
Parameter permintaan
|
Parameter |
Type |
Required |
Description |
Example |
| body |
string |
No |
Body permintaan. Body berisi parameter yang ditetapkan untuk membuat tugas uji beban. |
{ "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 } } |
Parameter yang ditetapkan untuk membuat tugas uji beban
Tabel berikut menjelaskan parameter yang ditetapkan untuk membuat tugas uji beban menggunakan eas-benchmark.
| Parameter | Deskripsi |
| base | Konfigurasi dasar dari tugas uji beban. |
| service | Konfigurasi yang terkait dengan layanan yang ingin Anda uji. |
| data | Konfigurasi yang terkait dengan data yang diminta untuk uji beban. |
| http | Konfigurasi yang terkait dengan permintaan HTTP untuk layanan. |
| optional | Konfigurasi lanjutan opsional untuk tugas uji beban. |
Tabel 1. Bidang dalam parameter base
| Bidang | Deskripsi |
| name | Nama tugas uji beban. Jika Anda tidak menentukan bidang ini, tugas akan dinamai secara otomatis berdasarkan nama layanan. Bidang ini opsional. |
| duration | Durasi total uji beban. Satuan: detik. Nilai default: 1200. Bidang ini opsional. |
| qps | Queries per second (QPS) yang diharapkan dari tugas uji beban. Nilai default: 10000. Bidang ini opsional. |
| concurrency | Jumlah koneksi serentak yang ingin Anda buat untuk setiap instance dalam tugas uji beban. Nilai default adalah 40, dan dapat diubah secara otomatis. Bidang ini opsional. |
| agentCount | Jumlah instance yang ingin Anda buat untuk tugas uji beban. Nilai default adalah 1, dan dapat diubah secara otomatis. Bidang ini opsional. |
Tabel 2. Bidang dalam parameter service
| **Bidang** | **Deskripsi** |
| serviceUrl | URL dari layanan yang ingin Anda uji. Jika layanan Elastic Algorithm Service (EAS) yang diuji, bidang ini dapat diabaikan. Bidang ini opsional. |
| serviceName | Nama layanan yang ingin Anda uji. Jika layanan EAS yang diuji, bidang ini harus ditetapkan. Jika layanan kustom yang diuji, bidang ini dapat diabaikan. Bidang ini opsional. |
| requestToken | Token yang digunakan untuk mengakses layanan. Jika nilai **serviceName** ditentukan, bidang ini dapat diabaikan. Bidang ini opsional. |
| endpointType | Jenis uji beban yang didukung oleh layanan. Nilai yang valid: default dan direct. **default** menentukan bahwa tugas uji beban dilakukan pada layanan dengan menggunakan gateway. **direct** menentukan bahwa tugas uji beban dilakukan langsung pada layanan. Nilai default: **direct**. Bidang ini opsional. |
Tabel 3. Bidang dalam parameter data
| **Bidang** | **Deskripsi** |
| content | Konten dari permintaan uji beban. Nilai bidang ini bertipe STRING. Bidang ini opsional. |
| path | Path dari data uji beban. Path dapat berupa satu file atau file `.zip`. File `.zip` secara otomatis diunduh dan didekompresi. Bidang ini opsional. |
| dataType | Jenis data uji. Nilai yang valid: text dan binary. Nilai default: text. Bidang ini opsional. |
| multiLine | Menentukan apakah memisahkan data uji beban per baris. Nilai yang valid: true dan false. Nilai default: false. Jika Anda menetapkan bidang ini ke true, data yang diunduh akan diurai per baris. Bidang ini opsional. |
Tabel 4. Bidang dalam parameter HTTP
| **Bidang** | **Deskripsi** |
| method | Metode permintaan HTTP. Nilai default: POST. Bidang ini opsional. |
| host | Host yang mengirim permintaan. Bidang ini kosong secara default. Bidang ini opsional. |
| headers | Header dari permintaan HTTP. Header bertipe LIST, seperti `["Authorization:aaa", "Content-Type:text"] `. Bidang ini opsional. |
| timeout | Latensi permintaan HTTP. Satuan: milidetik. Nilai default: 20000. Bidang ini opsional. |
Tabel 5. Bidang dalam parameter optional
| **Bidang** | **Deskripsi** |
| mode | Mode uji beban. Nilai yang valid: auto, scan, dan manual. Nilai scan menentukan untuk melakukan uji beban secara berkala. Nilai default: auto. Bidang ini opsional. |
| adjustInterval | Interval saat uji beban dilakukan secara otomatis. Satuan: detik. Jika bidang ini diatur ke 1, uji beban dilakukan dengan interval 1 detik. Nilai default: 60. Bidang ini opsional. |
| minQPS | QPS minimum dari uji beban. Nilai default: 100. Bidang ini opsional. |
| maxQPS | QPS maksimum dari uji beban. Nilai default: 10000. Bidang ini opsional. |
| maxRT | Waktu respons maksimum. Jika waktu respons aktual melebihi batas atas yang ditentukan, QPS akan disesuaikan secara otomatis hingga waktu respons turun di bawah batas atas. Bidang ini opsional. |
| qpsGrowthDelta | Inkremen QPS. Nilai default: 50. Bidang ini opsional. |
| faultTolerate | Tingkat kesalahan permintaan tertinggi yang dapat ditoleransi, tidak termasuk kesalahan dengan kode status HTTP 200. Nilai default: 0.001. Bidang ini opsional. |
| faultAction | Operasi yang dilakukan jika tingkat kesalahan permintaan melebihi ambang batas yang ditentukan oleh bidang faultTolerate. Nilai yang valid: stop dan revise. stop berarti mempertahankan QPS saat ini dan berhenti menambah beban. revise berarti menyesuaikan QPS secara dinamis hingga tingkat kesalahan permintaan memenuhi ekspektasi. Bidang ini opsional. |
Elemen respons
|
Element |
Type |
Description |
Example |
|
object |
Parameter respons. |
||
| RequestId |
string |
ID permintaan. |
40325405-579C-4D82******** |
| TaskName |
string |
Nama tugas uji beban. |
benchmark-larec-test-1076 |
| Region |
string |
ID region tempat tugas uji beban dijalankan. |
cn-shanghai |
| Message |
string |
Pesan yang dikembalikan. |
Benchmark task [foo] is Creating |
Contoh
Respons sukses
JSONformat
{
"RequestId": "40325405-579C-4D82********",
"TaskName": "benchmark-larec-test-1076",
"Region": "cn-shanghai",
"Message": "Benchmark task [foo] is Creating"
}
Kode kesalahan
Lihat Error Codes untuk daftar lengkap.
Catatan rilis
Lihat Release Notes untuk daftar lengkap.