全部产品
Search
文档中心

Platform For AI:Uji stres layanan

更新时间:Feb 05, 2026

Elastic Algorithm Service (EAS) menyediakan pengujian stres untuk layanan model bahasa besar (LLM) maupun layanan tujuan umum. Buat tugas uji stres untuk mengevaluasi kinerja layanan di bawah beban. Topik ini menjelaskan cara membuat dan mengelola tugas uji stres.

Perbandingan fitur

EAS menyediakan dua jenis uji stres: uji stres layanan LLM dan uji stres layanan tujuan umum. Pilih solusi uji stres yang sesuai berdasarkan jenis layanan dan tujuan pengujian Anda.

Fitur

Uji stres layanan LLM

Uji stres layanan tujuan umum

Skenario

Dioptimalkan untuk model bahasa besar (LLM) guna mengevaluasi kecepatan respons model dan kinerja generasi.

Cocok untuk semua layanan berbasis HTTP/HTTPS.

Metode pembuatan

Hanya mendukung PAI console

PAI console (hanya mendukung mode auto)
Klien EASCMD (mendukung mode auto, scan, dan manual)

Metrik utama

Mencakup semua metrik uji stres layanan tujuan umum, ditambah metrik khusus LLM: time to first token (TTFT), time per output token (TPOT), dan tokens per second (TPS).

Mencakup metrik seperti requests per second (QPS) dan response time (RT).

Prasyarat

  • Layanan EAS yang telah dideploy dan tersedia

    • Anda telah menggunakan EAS untuk membuat setidaknya satu layanan online di wilayah tujuan dan ruang kerja.

    • Layanan berada dalam status Running dan dapat dipanggil.

  • Persyaratan khusus untuk uji stres layanan LLM

    • Layanan menggunakan mesin inferensi yang kompatibel dengan operasi API OpenAI, seperti vLLM, SGLang, LMDeploy, atau BladeLLM.

    • Layanan mengekspos titik akhir /v1/completions atau /v1/chat/completions.

    • Data uji stres harus mencakup bidang "stream": true untuk membangun permintaan streaming guna mengumpulkan metrik terkait token seperti TTFT dan TPOT.

Memulai dengan cepat

Bagian ini mendemonstrasikan cara melakukan uji stres pada layanan LLM Qwen3-8B menggunakan skenario uji stres khusus LLM dan tujuan umum. Untuk informasi selengkapnya, lihat Men-deploy model bahasa besar.

Catatan

Ini hanya panduan memulai cepat. Jangan lakukan uji stres tujuan umum pada layanan LLM.

Langkah 1: Buat tugas uji stres

  1. Login ke PAI console, lalu pilih wilayah tujuan di bagian atas halaman.

  2. Di panel navigasi sebelah kiri, klik Elastic Algorithm Service (EAS), pilih ruang kerja target, lalu buka halaman EAS.

  3. Buka tab Benchmark Task dan klik Create Stress Testing Task.

  4. Konfigurasikan parameter berikut dan biarkan nilai lainnya tetap default. Untuk informasi selengkapnya tentang parameter, lihat Detail konfigurasi LLM dan Detail konfigurasi skenario tujuan umum.

    Uji stres layanan LLM

    Parameter

    Deskripsi

    Basic Information

    Service

    Pilih layanan yang akan diuji dan pilih LLM Service.

    Service Endpoint

    Pilih Chat.

    Stress Testing URL

    Setelah Anda memilih antarmuka layanan, sistem secara otomatis mengonfigurasi URL pemanggilan layanan.

    Model ID

    ID model dari ModelScope atau Hugging Face. Masukkan Qwen/Qwen3-8B.

    Stress Testing Configurations

    Data Type

    Public Dataset

    Dataset

    ShareGPT.

    Test Mode

    Pilih Fixed Concurrency Test.

    Number of Request Samples

    200.

    Uji stres layanan tujuan umum

    Catatan

    Konsol uji stres memiliki timeout permintaan tetap selama 20 detik. Jika Anda melihat kode return 512 dalam laporan uji stres, kemungkinan besar ini menunjukkan timeout permintaan. Konsol uji stres EAS saat ini tidak mendukung pengaturan timeout kustom.

    Parameter

    Deskripsi

    Basic Information

    Service

    Pilih layanan yang akan diuji.

    Stress Testing URL

    URL pemanggilan layanan. Anda harus menyediakan path antarmuka lengkap, seperti /api/predict/<service_name>/v1/chat/comletions.

    Stress Testing Configurations

    Data Source

    Pilih Single Data Entry.

    Single Data Entry

    Jalankan echo -n '{"model": "Qwen3-8B", "messages": [{"role": "user", "content": "Hello!"}], "max_tokens": 1024}' | base64 untuk mendapatkan encoding Base64:

    eyJtb2RlbCI6ICJRd2VuMy04QiIsICJtZXNzYWdlcyI6IFt7InJvbGUiOiAidXNlciIsICJjb250ZW50IjogIkhlbGxvISJ9XSwgIm1heF90b2tlbnMiOiAxMDI0fQ==

Langkah 2: Lihat detail uji stres

  1. Lihat data pemantauan waktu nyata. Saat Status tugas adalah Running, klik nama tugas untuk melihat data pemantauan waktu nyata.image

  2. Lihat laporan uji stres. Saat Status tugas adalah Completed, klik nama tugas untuk melihat laporan uji stres.

    Laporan uji stres mencakup Basic Information, Stress Testing Configurations, Test Result, dan Test Monitoring. Untuk informasi selengkapnya tentang metrik pemantauan, lihat Metrik pemantauan tugas uji stres.

Langkah 3: Kelola tugas uji stres

Kelola tugas uji stres di konsol

Di tab Benchmark Task, Anda dapat melihat daftar tugas yang telah dibuat dan melakukan operasi seperti Enable, Clone, Copy Report, dan Delete.

image

Kelola tugas uji stres menggunakan klien EASCMD

  • Lihat daftar tugas uji stres

    Gunakan perintah bench list untuk melihat daftar tugas uji stres yang dibuat oleh pengguna saat ini. Contoh berikut menunjukkan format perintah untuk Windows 64-bit.

    eascmdwin64.exe bench ls

    Berikut ini contoh output.

    [RequestId]: 7F953F8E-8897-5785-808A-CA648302****
    +-------------------------+--------------------------+-------------+----------------+---------+---------------------+
    |        TASKNAME         |          TASKID          |   REGION    | AVAILABLEAGENT | STATUS  |     CREATETIME      |
    +-------------------------+--------------------------+-------------+----------------+---------+---------------------+
    | benchmark-***-test-**** | eas-b-ql470xog6qeh25**** | cn-shanghai |              0 | Stopped | 2022-06-17 17:58:01 |
    | benchmark-***-test-**** | eas-b-bdnzvwq0z0h3xq**** | cn-shanghai |              2 | Running | 2022-06-20 12:18:54 |
    +-------------------------+--------------------------+-------------+----------------+---------+---------------------+
  • Lihat detail tugas uji stres

    Gunakan perintah bench desc untuk melihat detail tugas uji stres tertentu. Contoh berikut menunjukkan format perintah untuk Windows 64-bit.

    eascmdwin64.exe bench desc [benchmark_task_name]

    Ganti [benchmark_task_name] dengan nama tugas uji stres.

    Berikut ini contoh output.

    +----------------+------------------------------------------------------------------------------+
    |     TaskName   | benchmark-***-test-b514                                                      |
    |     TaskId     | eas-b-bdnzvwq0z0h3xq****                                                     |
    |    ServiceName | xgb_test                                                                     |
    |         Region | cn-shanghai                                                                  |
    |   DesiredAgent | 2                                                                            |
    | AvailableAgent | 2                                                                            |
    |         Status | Running                                                                      |
    |        Message | Benchmark task is running                                                    |
    |     CreateTime | 2021-10-20 12:38:35                                                          |
    |     UpdateTime | 2021-10-20 12:38:45                                                          |
    |         Config | {                                                                            |
    |                |   "base": {                                                                  |
    |                |     "agentCount": 2,                                                         |
    |                |     "concurrency": 40,                                                       |
    |                |     "duration": 1200,                                                        |
    |                |     "requestCount":                                                          |
    |                | 922337203685477****,                                                         |
    |                |   },                                                                         |
    |                |  ...                                                                         |
    |                | }                                                                            |
    +----------------+------------------------------------------------------------------------------+
  • Aktifkan visualisasi waktu nyata untuk tugas uji stres

    Gunakan perintah bench visualize untuk mengaktifkan visualisasi waktu nyata untuk tugas uji stres. Setelah perintah ini dijalankan, halaman pemantauan waktu nyata yang disediakan oleh server web akan dimulai di 127.0.0.1. Contoh berikut menunjukkan format perintah untuk Windows 64-bit.

    eascmdwin64.exe bench visualize [benchmark_task_name]

    Ganti [benchmark_task_name] dengan nama tugas uji stres.

    Berikut ini contoh output.

    [OK] Click the link http://127.0.0.1:18734/eas-benchmark/statsview to observe realtime visualization details, you can turn it off with CTRL+C.
    Turning off will not interrupt the benchmark test task, and you can reopen it by the visualize command:
    eascmd -c [config_file] bench visualize benchmark-xgb-test-b514

    Buka tautan http://127.0.0.1:18734/eas-benchmark/statsview di browser untuk melihat data waktu nyata.

  • Dapatkan laporan uji stres

    Saat status tugas uji stres adalah Stopped, tugas tersebut telah selesai. Laporan uji stres disimpan ke OSS. Anda dapat menggunakan perintah bench report untuk mengambil URL laporan. Contoh berikut menunjukkan format perintah untuk Windows 64-bit.

    eascmdwin64.exe  bench report [benchmark_task_name]

    Ganti [benchmark_task_name] dengan nama tugas uji stres.

    Berikut ini contoh output.

    [OK] Benchmark task benchmark-demo-test-c7eb report url: http://eas-benchmark.oss-cn-chengdu.aliyuncs.com/summary/benchmark-demo-test-c7eb-10004.html

    Buka tautan setelah url di browser untuk melihat laporan uji stres, seperti yang ditunjukkan pada gambar berikut.image.png

  • Ubah secara dinamis jumlah replika klien dan konkurensi

    Saat mode uji stres adalah manual, Anda harus menggunakan perintah bench update untuk mengubah secara dinamis jumlah replika klien dan konkurensi. Contoh berikut menunjukkan format perintah untuk Windows 64-bit.

    eascmdwin64.exe bench update [benchmark_task_name] -Doptional.concurrency=<attr_value> -Doptional.agentCount=<attr_value>

    <attr_value> adalah nilai spesifiknya. Berikut ini contoh perintah:

    eascmdwin64.exe bench update benchmark-demo-b99c -Doptional.concurrency=2 -Doptional.agentCount=1

    Berikut ini contoh output.

    [RequestId]: 9920C672-4D41-5CC4-8EC0-C690F76EB2BA
    [OK] Running [TaskName: benchmark-demo-b99c, DesiredAgent:1, AvailableAgent: 1, Message: Benchmark task is Updating]
    [OK] Benchmark task benchmark-demo-b99c was updated successfully
  • Hentikan tugas uji stres

    Gunakan perintah bench stop untuk menghentikan tugas uji stres yang sedang berjalan. Contoh berikut menunjukkan format perintah untuk Windows 64-bit.

    eascmdwin64.exe bench stop [benchmark_task_name]

    Ganti [benchmark_task_name] dengan nama tugas uji stres.

    Berikut ini contoh output.

    Are you sure to stop the benchmark task [benchmark-***-test-b514] in [cn-shanghai]? [Y/n]
    [OK] Task [benchmark-***-test-b514] is stopping
    [OK] [Agnet: 0/1]: Benchmark task is Running
    [OK] [Agnet: 0/1]: Benchmark task is Stopped
    [OK] Benchmark task is stopped

    Jika fitur visualisasi waktu nyata sedang berjalan saat Anda menghentikan tugas, sistem akan menampilkan laporan uji stres di terminal tempat perintah visualisasi dijalankan. Anda juga dapat menggunakan perintah bench report untuk mendapatkan laporan HTML yang lebih detail dengan grafik.

  • Jalankan tugas uji stres

    Gunakan perintah bench start untuk menjalankan kembali tugas uji stres yang dihentikan. Contoh berikut menunjukkan format perintah untuk Windows 64-bit.

    eascmdwin64.exe bench start [benchmark_task_name]
    Catatan

    Perbedaan antara perintah ini dan perintah bench create adalah bahwa ketika Anda menjalankan ulang tugas uji stres dengan perintah ini, putaran uji stres baru dimulai berdasarkan konfigurasi terakhir yang diperbarui dari tugas tersebut.

    Ganti [benchmark_task_name] dengan nama tugas uji stres.

    Berikut ini contoh output sistem.

    Are you sure to start the benchmark task [benchmark-***-test-b514] in [cn-shanghai]? [Y/n]
    [OK] Task [benchmark-***-test-b514] is starting
    [OK] [Agnet: 0/1]: Succeed to start benchmark master
    [OK] [Agnet: 1/1]: Benchmark task is Running
    [OK] Benchmark task is Running
    [OK] Click the link http://127.0.0.1:18947/eas-benchmark/statsview to observe realtime visualization details, you can turn it off with CTRL+C.
    Turning off will not interrupt the benchmark test task, and you can reopen it by the visualize command:
    eascmd -c [config_file] bench visualize benchmark-xgb-test-b514
  • Hapus tugas uji stres

    Setelah tugas uji stres selesai, pengontrol VPC menyimpan catatan tugas berdasarkan status akhirnya. Aturan retensi dijelaskan dalam tabel berikut.

    Status akhir

    Periode retensi

    Stopped

    48 jam.

    CreateFailed, UpdateFailed, Terminated, atau Error

    10 menit.

    Sistem secara otomatis menghapus tugas uji stres setelah periode retensi berakhir.

    Anda juga dapat menggunakan perintah bench delete untuk menghapus tugas uji stres secara manual. Format perintahnya sebagai berikut.

    eascmdwin64.exe bench delete [benchmark_task_name]

    Ganti [benchmark_task_name] dengan nama tugas uji stres.

    Berikut ini contoh output.

    Are you sure to delete the benchmark task [benchmark-***-test-b514] in [cn-shanghai]? [Y/n]
    [OK] Benchmark task benchmark-***-test-b514 is Deleting
    [OK] Benchmark task was deleted successfully

Detail konfigurasi LLM

Informasi dasar

Parameter

Deskripsi

Service

Pilih nama layanan yang akan diuji dan pilih LLM Service.

Service Endpoint

Hanya dua antarmuka OpenAI berikut yang didukung:

  • Completions: penyelesaian satu putaran. Antarmuka permintaan adalah /v1/completions.

  • Chat: percakapan multi-putaran. Antarmuka permintaan adalah /v1/chat/completions.

Stress Testing URL

Setelah Anda memilih antarmuka layanan, sistem secara otomatis mengonfigurasi URL pemanggilan layanan.

Model ID

Masukkan ID model dari ModelScope atau Hugging Face (Wajib). Ini digunakan untuk memuat tokenizer yang sesuai guna menghitung metrik token secara akurat selama uji stres.

Model Name

Digunakan untuk membangun parameter model dalam permintaan (Opsional). Ini memiliki prioritas lebih tinggi daripada ID model. Jika dikosongkan, ID model akan digunakan sebagai parameter permintaan.

Pilih tipe data

Data Type

Deskripsi

Public Dataset

Gunakan dataset ShareGPT publik untuk uji stres.

  • Dataset: Saat ini, hanya ShareGPT yang didukung.

  • Output Length: Mengontrol panjang teks yang dihasilkan. Jika dikosongkan, output tidak dipotong. Dengan mengonfigurasi panjang output, Anda dapat menguji stabilitas dan kinerja layanan LLM di bawah beban berbeda.

Custom Dataset

Konfigurasikan dataset kustom berdasarkan skenario spesifik Anda:

Penting

Data permintaan untuk uji stres LLM harus mencakup parameter "stream": true untuk membangun permintaan streaming guna mengumpulkan metrik terkait token seperti TTFT dan TPOT.

  • Data Source: Anda dapat mengunggah file data kustom untuk uji stres dari sumber berikut:

    • Single Data Entry: Masukkan satu entri data permintaan uji stres di kotak teks Single Data. Formatnya harus berupa string yang di-encode Base64.

    • Data Address: Masukkan path HTTP dari sumber data pengujian di kotak teks Data Address. File tunggal atau file ZIP didukung. File ZIP akan secara otomatis didekompresi setelah diunduh.

    • OSS Object: Dapatkan file uji stres dengan mengonfigurasi path Object Storage Service (OSS).

    • Upload Local File: Ikuti petunjuk konsol untuk mengunggah file uji stres lokal ke path OSS dan ambil file tersebut dari OSS.

  • Split File Data by Line: Parameter ini tersedia saat Anda mengatur Data Source ke Data Address, OSS File, atau Upload from Local. Jika Anda mengaktifkan opsi ini, file uji stres yang diunggah akan dipisah per baris, dan setiap baris digunakan sebagai entri data untuk pengujian. Jika tidak, seluruh konten file digunakan sebagai satu entri data.

    Catatan

    Untuk contoh konfigurasi berkas uji stres, lihat benchmark_demo.json. Setiap entri data dalam berkas tersebut merupakan permintaan pengguna aktual dalam format JSON. Kami merekomendasikan agar Anda terlebih dahulu menggunakan fitur debug daring untuk memastikan bahwa format entri data permintaan tunggal sudah benar.

Simulation Data

  • Data Generation Mode: Hanya Uniform Distribution yang didukung.

  • Input Tokens: Rentang panjang token input. Nilai minimum adalah 10, dan maksimum adalah 10000. Nilai default adalah 1024.

  • Output Tokens: Rentang panjang token output. Nilai minimum adalah 10, dan maksimum adalah 10000. Nilai default adalah 128.

Pilih mode pengujian

Tiga mode pengujian berikut didukung:

  • Fixed Concurrency Test: Menetapkan jumlah pengguna konkuren tetap. Cocok untuk menguji kinerja sistem di bawah tingkat konkurensi tertentu.

  • Fixed Request Rate Test: Menetapkan laju permintaan tetap. Cocok untuk menguji kinerja sistem pada laju permintaan tertentu.

  • Extreme Throughput Test: Mengirim semua permintaan secara simultan untuk menentukan laju permintaan maksimum (QPS) yang dapat ditangani oleh layanan inferensi. Cocok untuk menguji batas sistem.

Dalam mode Fixed Concurrency Test dan Fixed Request Rate Test, Anda dapat mengaktifkan Continuous Test.

  • Jika Anda mengaktifkan Continuous Test, tugas akan berjalan hingga durasi uji stres berakhir, terlepas dari Number of Request Samples.

  • Jika Anda menonaktifkan Continuous Test, tugas akan berhenti setelah menyelesaikan Number of Request Samples yang ditentukan atau mencapai Maximum Duration (s).

Pengaturan parameter untuk mode pengujian berbeda adalah sebagai berikut:

Mode Pengujian

Pengaturan Parameter

Fixed Concurrency Test

  • Concurrency: Mensimulasikan jumlah pengguna konkuren. Nilainya harus dalam rentang [1, 200].

  • Maximum Duration (s): Durasi uji stres dalam detik. Nilai default adalah 300, dan minimum adalah 30.

  • Number of Request Samples: Tidak perlu diatur saat Continuous Test diaktifkan. Ini merepresentasikan jumlah permintaan yang dikirim selama pengujian. Nilainya harus dalam rentang [100, 1000].

Fixed Request Rate Test

Menetapkan laju permintaan tetap. Cocok untuk menguji kinerja sistem pada laju permintaan tertentu.

  • Request Rate: Jumlah permintaan yang dikirim per detik.

  • Maximum Concurrency: Mensimulasikan jumlah pengguna konkuren.

  • Maximum Duration (s): Durasi uji stres dalam detik. Nilai default adalah 300, dan minimum adalah 30.

  • Number of Request Samples: Tidak perlu diatur saat Continuous Test diaktifkan. Ini merepresentasikan jumlah permintaan yang dikirim selama pengujian. Nilainya harus dalam rentang [100, 1000].

Extreme Throughput Test

  • Maximum Duration (s): Durasi uji stres dalam detik. Nilai default adalah 300, dan minimum adalah 30.

  • Number of Request Samples: Jumlah permintaan yang dikirim selama pengujian. Nilainya harus dalam rentang [100, 1000].

Konfigurasi tambahan

Parameter

Deskripsi

HTTP Header

Pasangan kunci-nilai. Contohnya:

  • Melewatkan informasi autentikasi: Authorization: EAS_TOKEN

  • Menyetel format data badan permintaan: Content-Type: application/json

Burstiness

  • Nilai default adalah 1. Rentang valid adalah 0,1 hingga 200, dengan granularitas 0,1.

  • Burstiness mengontrol pola distribusi waktu pembuatan permintaan dan hanya berlaku dalam mode fixed request rate. Nilai default 1 mengikuti distribusi Poisson. Nilai lain mengikuti distribusi Gamma. Nilai yang lebih kecil menunjukkan aliran permintaan yang lebih bursty, sedangkan nilai yang lebih besar menunjukkan aliran permintaan yang lebih seragam.

Random Seed

Nilai default: 0. Tipe data integer. Rentang nilai: 0–4294967295 (2**32–1).

Ignore EOS

Mengaktifkan Ignore EOS berarti model mengabaikan token End-of-Sequence (EOS) saat menghasilkan teks, sehingga memaksa generasi hingga mencapai panjang generasi maksimum yang telah ditentukan.

Detail konfigurasi skenario tujuan umum

Parameter konsol

Parameter

Deskripsi

Basic Information

Service

Pilih nama layanan yang akan diuji.

Stress Testing URL

URL pemanggilan layanan.

Stress Testing Configurations

Data Source

Anda dapat mengonfigurasi data uji stres menggunakan Single Data Entry, Data Address, OSS Object, atau Upload Local File.

  • Format data uji stres: Bergantung pada definisi model dan implementasi processor.

    Catatan

    Single Data harus berupa string yang di-encode Base64.

    • Untuk data tidak terstruktur seperti voice, gambar, atau teks, unggah langsung file tersebut sebagai data permintaan uji stres.

    • Untuk data terstruktur seperti TFRequest, Anda perlu membuat data permintaan menggunakan kit pengembangan perangkat lunak (SDK) EAS (untuk informasi selengkapnya, lihat Pemanasan layanan model) dan mengunggah data biner yang dihasilkan sebagai file.

  • File uji stres:

    • File tunggal atau file ZIP didukung. File ZIP akan secara otomatis didekompresi setelah diunduh.

    • Tipe file: Mendukung format seperti .txt, .jpg, .bin, dan .zip, tergantung pada kebutuhan bisnis layanan.

Split File Data by Line

Parameter ini tersedia saat Anda mengatur Data Source ke Data Address, OSS Object, atau Upload Local File.

Jika Anda mengaktifkan opsi ini, file uji stres yang diunggah akan dipisah per baris, dan setiap baris digunakan sebagai entri data untuk pengujian. Jika tidak, seluruh konten file digunakan sebagai satu entri data.

Maximum Duration (s)

Durasi uji stres dalam detik. Nilai default adalah 300 detik.

Maximum QPS

QPS maksimum yang diizinkan (permintaan per detik). Nilai default adalah 10000.

Maximum Response Time (ms)

Waktu respons maksimum (RT) dalam milidetik. Jika ambang batas ini dilampaui, QPS akan disesuaikan secara otomatis hingga RT waktu nyata memenuhi ekspektasi.

HTTP Header

Konfigurasi header permintaan dalam pasangan kunci-nilai. Contohnya:

  • Melewatkan informasi autentikasi: Authorization: EAS_TOKEN

  • Menyetel format data badan permintaan: Content-Type: application/json

Buat menggunakan klien EASCMD

Gunakan perintah bench create untuk membuat tugas pengujian stres. Untuk informasi selengkapnya tentang cara login ke klien EASCMD, lihat Unduh dan autentikasi client. Setelah tugas dibuat, Anda dapat menggunakan URL yang dikembalikan untuk melihat data pemantauan waktu nyata. Contoh berikut menunjukkan format perintah untuk Windows 64-bit.

eascmdwin64.exe bench create [bench_desc_json]

bench_desc_json adalah file JSON yang berisi informasi tentang tugas uji stres. Berikut ini beberapa contohnya. Untuk informasi selengkapnya, lihat Deskripsi parameter JSON.

Uji stres tunggal

{
    "service": {
        "serviceName": "xgb_test"
    },
    "data": {
        "content": "W1sxLDAsMCwwLDEsMSwwLDEsMCwxLDEsMCwwLDEsMCwxLDAsMSwwLDAsMSwxLDEsMCwxLDEsMCwwLDAsMSwxLDEsMCwxLDEsMSwxLDAsMSwxLDEsMCwxLDAsMCwwLDEsMSwwLDAsMCwxLDAsMSwwLDEsMCwwLDEsMCwwLDEsMCwxLDAsMCwxLDAsMCwwLDAsMSwwLDEsMCwxLDAsMCwxLDEsMSwwLDAsMSwwLDAsMCwwLDEsMSwxLDAsMSwxLDAsMCwxLDAsMSwwLDEsMSwxLDEsMCwxLDAsMCwxLDEsMSwxLDAsMCwwLDEsMSwwXV0K"
    }
}

Tes file OSS

Gunakan path untuk menentukan beberapa file OSS sebagai data uji stres.

Untuk mengonfigurasi beberapa entri data uji stres dalam batch, Anda dapat mengemas beberapa file data permintaan ke dalam paket ZIP dan mengatur path ke oss://XX.zip.

{
    "service": {
        "serviceName": "xgb_test"
    },
    "data": {
        "path": "oss://examplebucket/test1.bin,oss://examplebucket/test2.bin"
    }
}

Berikut ini contoh output.

[RequestId]: DE240637-4976-59AF-A28C-BAA55C0A****
[OK] Task [benchmark-xgb-test-b514] is creating
[OK] [Agnet: 0/1]: Succeed to start benchmark master
[OK] [Agnet: 0/1]: Succeed to start benchmark master
[OK] [Agnet: 1/1]: Benchmark task is Running
[OK] Benchmark task is Running
[OK] Click the link http://127.0.0.1:18222/eas-benchmark/statsview to observe realtime visualization details, you can turn it off with CTRL+C.
Turning off will not interrupt the benchmark test task, and you can reopen it by the visualize command:
eascmd -c [config_file] bench visualize benchmark-xgb-test-b514

Mode uji stres

Uji stres layanan tujuan umum mendukung tiga mode berikut:

  • auto mode: Mode tekanan otomatis. Pengontrol VPC eas-benchmark secara otomatis membuat Agent Workers untuk uji stres dan menetapkan tingkat konkurensi yang sesuai. Menggunakan algoritma auto-optimasi untuk menemukan kapasitas maksimum layanan.

  • scan mode: Mode tekanan periodik. Mode ini meningkatkan tekanan secara dinamis berdasarkan parameter yang Anda tentukan, seperti QPS awal (minQPS), QPS maksimum (maxQPS), interval pertumbuhan QPS (adjustInterval), dan langkah pertumbuhan QPS (qpsGrowthDelta). Pengujian berhenti ketika beban layanan mencapai maxRT atau maxQPS yang ditentukan, atau ketika jumlah error melebihi tingkat toleransi kesalahan (faultTolerate).

  • manual mode: Mode tekanan manual. Mode ini menggunakan jumlah agen uji stres tetap dan konkurensi tetap untuk setiap agen. Anda dapat menyesuaikan jumlah agen dan konkurensinya secara dinamis selama pengujian.

Konsol hanya mendukung mode auto. Klien EASCMD mendukung mode auto, scan, dan manual.

Anda dapat menambahkan parameter mode di bagian optional file konfigurasi JSON untuk menentukan mode uji stres. Berikut ini contoh konfigurasinya.

auto mode

Dalam mode auto, Anda hanya perlu menentukan nama layanan dan data uji stres dalam file konfigurasi. Anda dapat menggunakan nilai default untuk parameter lainnya. Berikut ini contoh konfigurasinya.

{
    "service": {
        "serviceName": "demo"
    },
    "data": {
        "path": "https://examplebucket.oss-cn-chengdu.aliyuncs.com/data/warmup.tf.bin"
    },
    "optional": {
        "maxQPS": 1000,
        "duration": 300
     }
}

scan mode

{
    "service": {
        "serviceName": "demo"
    },
    "data": {
        "content": "aGVsbG8K"
    },
    "optional": {
        "mode": "scan",
        "maxQPS": 1000,
        "minQPS": 500,
        "qpsGrowthDelta": 100,
        "adjustInterval": 30
    }
}

manual mode

{
    "service": {
        "serviceName": "demo"
    },
    "data": {
        "content": "aGVsbG8K"
    },
    "optional": {
        "mode": "manual",
        "agentCount": 1,
        "concurrency": 5
    }
}

Deskripsi parameter JSON

Item

Parameter

Wajib

Deskripsi

service

serviceName

Ya

Nama layanan yang akan diuji stres.

data

content

Tidak

Satu entri data permintaan uji stres sebagai string yang di-encode Base64.

Untuk menentukan beberapa entri data permintaan, gunakan parameter path.

path

Tidak

Path sumber data pengujian. Anda dapat mengonfigurasi path HTTP atau path OSS. Anda dapat menentukan beberapa path yang dipisahkan koma (,). Anda juga dapat mengemas beberapa file pengujian ke dalam file .zip untuk konfigurasi batch.

Catatan

Simpan file data uji stres dalam format aslinya. Jangan lakukan encoding Base64.

multiLine

Tidak

Menentukan apakah data pengujian akan dipisah per baris. Ini adalah Nilai Boolean, dan default-nya false. Jika diatur ke true, data yang diunduh akan diurai per baris.

http

headers

Tidak

Pengaturan header permintaan HTTP. Ini adalah daftar. Contohnya: ["Authorization:aaa", "Content-Type:text"].

timeout

Tidak

Timeout permintaan HTTP dalam milidetik. Default-nya 20000.

optional

mode

Tidak

Mode uji stres. Tiga mode berikut didukung. Untuk informasi selengkapnya, lihat Stress testing modes.

  • auto (default): Mode tekanan otomatis.

  • scan: Mode tekanan periodik.

  • manual: Mode tekanan manual.

duration

Tidak

Durasi uji stres dalam detik. Default-nya 600, dan maksimum 1200.

agentCount

Tidak

Jumlah replika klien dalam mode manual. Semakin banyak replika, semakin besar tekanannya. Default-nya 1.

concurrency

Tidak

Jumlah permintaan konkuren per instans klien dalam mode manual. Semakin tinggi konkurensi, semakin besar tekanannya. Default-nya 2. Jika tekanan tidak mencukupi, pertama-tama tingkatkan konkurensi. Jika peningkatan konkurensi tidak meningkatkan tekanan, coba tingkatkan jumlah replika klien.

adjustInterval

Tidak

Interval penyesuaian dinamis untuk tekanan otomatis dalam mode scan, dalam detik. Default-nya 60.

minQPS

Tidak

Nilai QPS awal untuk tekanan otomatis dalam mode scan. Default-nya 100.

maxQPS

Tidak

QPS maksimum yang diizinkan dalam mode scan atau auto.

maxRT

Tidak

RT maksimum (TP99) dalam mode scan atau auto. Jika ambang batas ini dilampaui, QPS akan disesuaikan secara otomatis hingga RT waktu nyata memenuhi ekspektasi.

qpsGrowthDelta

Tidak

Jumlah peningkatan QPS setiap kali dalam mode scan. Default-nya 50.

faultTolerate

Tidak

Toleransi terhadap error permintaan (kode status selain 200) dalam mode scan atau auto. Misalnya, nilai 0,01 berarti jika 1% permintaan gagal, proses penanganan error akan dipicu. Nilai default adalah 0,001, yang berarti toleransi terhadap error permintaan adalah satu dalam seribu.

faultAction

Tidak

Perilaku pengontrol VPC uji stres ketika tingkat error permintaan melebihi ambang batas yang ditetapkan oleh faultTolerate dalam mode scan atau auto. Nilai berikut didukung:

  • stop: Mempertahankan QPS saat ini dan berhenti meningkatkan tekanan.

  • revise (default): Menyesuaikan QPS secara dinamis hingga tingkat error permintaan memenuhi ekspektasi.

Metrik pemantauan tugas uji stres

Metrik khusus layanan LLM

TTFT (Time To First Token)

Waktu hingga token pertama dari suatu permintaan. Ini adalah waktu dari saat permintaan dikirim hingga token pertama yang dihasilkan layanan diterima.

image

TPOT (Time per Output Token)

Waktu per token dari suatu permintaan. Ini adalah interval waktu antara dua token berturut-turut yang dihasilkan layanan.

image

TPS (Tokens Per Second)

Jumlah token yang dihasilkan per detik.

image

Metrik umum

Distribusi permintaan per detik

Distribusi jumlah permintaan yang diterima layanan per detik.

image

Distribusi waktu respons

Distribusi jumlah respons yang dikembalikan layanan dalam rentang waktu yang dipilih.

image

Distribusi lalu lintas

Distribusi volume data permintaan yang dikirim dari klien ke layanan dan volume data respons yang dikembalikan dari layanan ke klien dalam rentang waktu yang dipilih.

image

Distribusi interval waktu respons

Persentase waktu respons yang dikembalikan layanan yang masuk ke interval berbeda, dalam milidetik.

image

Distribusi waktu respons keseluruhan

Latensi end-to-end permintaan pada kuantil berbeda, dalam milidetik.

image

Distribusi kode status balasan

Distribusi kode status yang dikembalikan layanan.

image

FAQ

Mengapa saya mendapatkan error 400 atau 404 selama pengujian data tunggal padahal permintaan curl berhasil?

Gejala: Saat melakukan uji stres sekali klik pada layanan inferensi model bahasa besar yang dideploy di EAS menggunakan entri data tunggal, semua permintaan gagal dengan kode status HTTP 400 atau 404. Namun, mengirim permintaan yang sama secara manual dengan curl berhasil dengan kode status 200.

Akar penyebab:

  • 404: URL uji stres salah. Misalnya, mungkin mengandung garis miring ekstra di akhir (seperti /test/), sedangkan path terdaftar aktual untuk layanan adalah /test, menyebabkan ketidakcocokan routing.

  • 400: Format badan permintaan salah. Kesalahan umum adalah tidak membungkus string JSON dengan tanda kutip tunggal saat menghasilkan encoding Base64 untuk badan permintaan (seperti echo -n {"file_names": [...]} | base64). Hal ini menyebabkan shell mengurai JSON secara salah, menghasilkan format JSON yang tidak valid yang tidak dapat diurai oleh layanan.

Solusi:

  • Pastikan path URL uji stres persis cocok dengan path terdaftar layanan. Hapus garis miring ekstra di akhir (gunakan /test bukan /test/).

  • Sebelum menghasilkan encoding Base64, bungkus seluruh badan permintaan JSON dengan tanda kutip tunggal. Contohnya:

    echo -n '{"file_names": ["xxx.pdf"]}' | base64

Langkah selanjutnya