Elastic Algorithm Service (EAS) menyediakan uji stres layanan LLM dan uji stres layanan tujuan umum untuk membantu Anda mengevaluasi kinerja layanan. Anda dapat membuat tugas uji stres dengan satu klik di Konsol atau mengonfigurasi mode uji stres secara fleksibel menggunakan klien EASCMD.
Perbandingan fitur
EAS menawarkan 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.
|
Item |
Uji stres layanan LLM |
Uji stres layanan tujuan umum |
|
Kasus penggunaan |
Dioptimalkan untuk model bahasa besar guna mengevaluasi kecepatan respons dan kinerja generasi token. |
Cocok untuk semua layanan berbasis HTTP/HTTPS. |
|
Metode pembuatan |
Hanya Konsol PAI |
Konsol PAI: Hanya mendukung mode |
|
Metrik utama |
Mencakup semua metrik tujuan umum ditambah metrik khusus LLM: time to first token (TTFT), time per output token (TPOT), dan tokens per second (TPS). |
Mencakup metrik seperti permintaan per detik (QPS) dan waktu respons (RT). |
Prasyarat
-
Layanan EAS yang telah dideploy dan tersedia
-
Setidaknya satu layanan online EAS telah dideploy di wilayah tujuan dan ruang kerja.
-
Status layanan adalah Berjalan dan dapat dipanggil.
-
-
Persyaratan untuk uji stres layanan LLM
-
Layanan menggunakan mesin inferensi yang kompatibel dengan API OpenAI, seperti vLLM, SGLang, LMDeploy, atau BladeLLM.
-
Layanan mengekspos titik akhir
/v1/completionsatau/v1/chat/completions. -
Data uji stres mencakup bidang
"stream": trueuntuk mengaktifkan permintaan streaming guna mengumpulkan metrik terkait token seperti TTFT dan TPOT.
-
Panduan cepat
Contoh ini melakukan uji stres pada layanan LLM Qwen3-8B menggunakan skenario khusus LLM dan tujuan umum. Untuk mendeploy model, lihat Deploy large language models.
Ini adalah panduan cepat. Jangan lakukan uji stres tujuan umum pada layanan LLM di lingkungan produksi.
Langkah 1: Buat tugas uji stres
-
Masuk ke Konsol PAI dan pilih wilayah tujuan di bagian atas halaman.
-
Di panel navigasi sebelah kiri, klik Elastic Algorithm Service (EAS), pilih ruang kerja target, lalu buka halaman EAS.
-
Buka tab Benchmark Task dan klik Create Stress Testing Task.
-
Konfigurasikan parameter berikut dan biarkan sisanya sebagai default. Referensi parameter lengkap: 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
Otomatis terisi setelah Anda memilih antarmuka layanan.
Model ID
ID model dari ModelScope atau Hugging Face. Masukkan
Qwen/Qwen3-8B.Stress Testing Configurations
Data Type
Pilih Public Dataset.
Dataset
ShareGPT.
Test Mode
Pilih Fixed Concurrency Test.
Number of Request Samples
200.
Uji stres layanan tujuan umum
CatatanKonsol uji stres memiliki timeout permintaan tetap selama 20 detik. Jika laporan uji stres menunjukkan kode return 512, ini menandakan timeout permintaan. Konsol uji stres EAS tidak mendukung pengaturan timeout kustom.
Parameter
Deskripsi
Basic Information
Service
Layanan yang akan diuji.
Stress Testing URL
URL pemanggilan layanan. Berikan 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}' | base64untuk mendapatkan encoding Base64:eyJtb2RlbCI6ICJRd2VuMy04QiIsICJtZXNzYWdlcyI6IFt7InJvbGUiOiAidXNlciIsICJjb250ZW50IjogIkhlbGxvISJ9XSwgIm1heF90b2tlbnMiOiAxMDI0fQ==
Langkah 2: Lihat detail uji stres
-
Lihat data pemantauan waktu nyata: Saat Status tugas adalah Testing in Progress, klik nama tugas untuk membuka dasbor waktu nyata. Grafik mencakup Real-time response time (TP50/TP90/TP99/TP100/AVG), Real-time return codes, Real-time traffic (RECEIVE/SEND), dan Real-time queries per second (QPS).
-
Lihat laporan uji stres. Saat Status tugas adalah Completed, klik nama tugas untuk melihat laporan uji stres.
Laporan mencakup Basic Information, Stress Testing Configurations, Test Result, dan Test Monitoring. Definisi metrik: Metrik pemantauan tugas uji stres.
Langkah 3: Kelola tugas uji stres
Kelola tugas uji stres di Konsol
Di tab Benchmark Task, lihat daftar tugas yang telah dibuat dan lakukan operasi seperti Enable, Clone, Copy Report, dan Delete.
Kelola tugas uji stres menggunakan klien EASCMD
-
Lihat daftar tugas uji stres
Gunakan perintah
bench listuntuk melihat daftar tugas uji stres yang dibuat oleh pengguna saat ini. Contoh berikut menunjukkan format perintah untuk Windows 64-bit.eascmdwin64.exe bench lsBerikut adalah 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 descuntuk 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 adalah 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 visualizeuntuk mengaktifkan visualisasi waktu nyata untuk tugas uji stres. Setelah perintah ini dijalankan, halaman pemantauan waktu nyata yang disediakan oleh server web 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 adalah 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-b514Buka tautan
http://127.0.0.1:18734/eas-benchmark/statsviewdi browser untuk melihat data waktu nyata. -
Dapatkan laporan uji stres
Saat status tugas uji stres adalah Stopped, tugas telah selesai. Laporan uji stres disimpan ke OSS. Anda dapat menggunakan perintah
bench reportuntuk 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 adalah 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.htmlBuka tautan setelah url di browser untuk melihat laporan uji stres, seperti yang ditunjukkan pada gambar berikut.

-
Ubah secara dinamis jumlah replika klien dan konkurensi
Saat mode uji stres adalah manual, Anda harus menggunakan perintah
bench updateuntuk 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 spesifik. Berikut adalah contoh perintah:
eascmdwin64.exe bench update benchmark-demo-b99c -Doptional.concurrency=2 -Doptional.agentCount=1Berikut adalah 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 stopuntuk 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 adalah 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 stoppedJika 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 reportuntuk mendapatkan laporan HTML yang lebih detail dengan grafik. -
Jalankan tugas uji stres
Gunakan perintah
bench startuntuk menjalankan kembali tugas uji stres yang dihentikan. Contoh berikut menunjukkan format perintah untuk Windows 64-bit.eascmdwin64.exe bench start [benchmark_task_name]CatatanPerbedaan antara perintah ini dan perintah
bench createadalah bahwa ketika Anda menjalankan kembali 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 adalah 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 deleteuntuk 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 adalah 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 layanan yang akan diuji dan pilih LLM Service. |
|
Service Endpoint |
Hanya dua antarmuka OpenAI berikut yang didukung:
|
|
Stress Testing URL |
Otomatis terisi setelah Anda memilih antarmuka layanan. |
|
Model ID |
Wajib diisi. ID model dari ModelScope atau Hugging Face, digunakan untuk memuat tokenizer yang benar guna penghitungan token. Di ModelScope, ID model adalah path di bawah nama model (misalnya, |
|
Model Name |
Opsional. Mengganti ID model dalam badan permintaan. Jika kosong, ID model akan digunakan. |
Pilih jenis data
|
Data Type |
Deskripsi |
|
Public Dataset |
Gunakan dataset ShareGPT publik untuk uji stres.
|
|
Custom Dataset |
Konfigurasikan dataset kustom berdasarkan skenario spesifik Anda: Penting
Persyaratan format data:
|
|
Simulation Data |
|
Pilih mode pengujian
Tiga mode pengujian didukung:
-
Fixed Concurrency Test: Menetapkan jumlah pengguna konkuren tetap. Cocok untuk menguji kinerja sistem di 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 berjalan hingga durasi uji stres berakhir, terlepas dari Number of Request Samples.
-
Jika Anda menonaktifkan Continuous Test, tugas 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 |
|
|
Fixed Request Rate Test |
Menetapkan laju permintaan tetap untuk menguji kinerja sistem. Konfigurasikan parameter berikut:
|
|
Extreme Throughput Test |
|
Konfigurasi tambahan
|
Parameter |
Deskripsi |
|
HTTP Header |
Pasangan kunci-nilai. Contohnya:
|
|
Burstiness |
|
|
Random Seed |
Nilai default: 0. Tipe data integer. Rentang nilai: 0-4294967295 (2**32-1). |
|
Ignore EOS |
Mengaktifkan Ignore EOS menyebabkan model mengabaikan token End-of-Sequence (EOS) saat menghasilkan teks, memaksa generasi hingga panjang generasi maksimum yang telah ditentukan tercapai. |
Detail konfigurasi skenario tujuan umum
Parameter Konsol
|
Parameter |
Deskripsi |
|
|
Basic Information |
Service |
Nama layanan yang akan diuji. |
|
Stress Testing URL |
URL pemanggilan layanan. |
|
|
Stress Testing Configurations |
Data Source |
Konfigurasikan data uji stres menggunakan Single Data Entry, Data Address, OSS Object, atau Upload Local File.
|
|
Split File Data by Line |
Tersedia saat Data Source diatur ke Data Address, OSS Object, atau Upload Local File. Jika diaktifkan, file uji stres yang diunggah dibagi per baris, dan setiap baris digunakan sebagai entri data. Jika tidak, seluruh konten file digunakan sebagai satu entri data. |
|
|
Maximum Duration (s) |
Durasi uji stres dalam detik. Default: 300 detik. |
|
|
Maximum QPS |
QPS maksimum yang diizinkan (permintaan per detik). Default: 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:
|
|
Buat menggunakan klien EASCMD
Gunakan bench create untuk membuat tugas uji stres. Untuk pengaturan klien, lihat Download and authenticate the client. Setelah pembuatan, gunakan URL yang dikembalikan untuk melihat pemantauan waktu nyata. Contoh Windows 64-bit:
eascmdwin64.exe bench create [bench_desc_json]
bench_desc_json adalah file konfigurasi JSON. Contoh di bawah ini; referensi parameter lengkap: Deskripsi parameter JSON.
Berikut adalah 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: Pengontrol VPC eas-benchmark secara otomatis membuat Agent Workers dan menggunakan algoritma optimasi untuk menemukan kapasitas maksimum layanan.
-
scan mode: Secara dinamis meningkatkan tekanan dari QPS awal (minQPS) ke QPS maksimum (maxQPS) pada interval tertentu (adjustInterval) dan langkah (qpsGrowthDelta). Berhenti saat maxRT, maxQPS, atau toleransi kesalahan (faultTolerate) tercapai.
-
manual mode: Menggunakan jumlah agen uji stres tetap dan konkurensi per agen. Keduanya dapat disesuaikan 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 adalah contoh konfigurasi.
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 adalah contoh konfigurasi.
{
"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 diencode 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 akan membagi data pengujian per baris. Ini adalah Nilai Boolean, dan default-nya false. Jika diatur ke true, data yang diunduh diurai per baris. |
|
|
http |
headers |
Tidak |
Pengaturan header permintaan HTTP. Ini adalah daftar. Contohnya: |
|
timeout |
Tidak |
Timeout permintaan HTTP dalam milidetik. Default-nya 20000. |
|
|
optional |
mode |
Tidak |
Mode uji stres. Tiga mode didukung (Mode uji stres):
|
|
duration |
Tidak |
Durasi uji stres dalam detik. Default-nya 600, dan maksimum 1200. |
|
|
agentCount |
Tidak |
Jumlah replika klien dalam mode manual. Jumlah replika yang lebih tinggi menghasilkan tekanan yang lebih besar. Default-nya 1. |
|
|
concurrency |
Tidak |
Permintaan konkuren per instans klien dalam mode manual. Default: 2. Tingkatkan konkurensi terlebih dahulu; jika masih kurang, tingkatkan jumlah agen. |
|
|
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 kesalahan (kode status non-200) dalam mode scan atau auto. Misalnya, 0,01 berarti proses kesalahan dipicu pada tingkat kegagalan 1%. Default: 0,001 (satu dari seribu). |
|
|
faultAction |
Tidak |
Perilaku pengontrol VPC uji stres saat tingkat kesalahan permintaan melebihi ambang batas yang ditetapkan oleh faultTolerate dalam mode scan atau auto. Nilai berikut didukung:
|
Metrik pemantauan tugas uji stres
Metrik khusus layanan LLM
|
TTFT (Time To First Token) Waktu dari pengiriman permintaan hingga menerima token pertama yang dihasilkan.
|
TPOT (Time per Output Token) Interval waktu antara dua token yang dihasilkan berturut-turut.
|
|
TPS (Tokens Per Second) Jumlah token yang dihasilkan per detik.
|
Metrik umum
|
Distribusi permintaan per detik Permintaan yang diterima layanan per detik seiring waktu.
|
Distribusi waktu respons Distribusi jumlah respons dalam rentang waktu yang dipilih.
|
|
Distribusi trafik Volume data permintaan dan respons antara klien dan layanan seiring waktu.
|
Distribusi interval waktu respons Persentase respons yang masuk ke interval latensi berbeda (ms).
|
|
Distribusi waktu respons keseluruhan Latensi permintaan end-to-end pada kuantil berbeda (ms).
|
Distribusi kode status return Distribusi kode status HTTP yang dikembalikan oleh layanan.
|
FAQ
Mengapa saya mendapatkan error 400 atau 404 selama pengujian data tunggal padahal permintaan curl berhasil?
Gejala: Saat melakukan uji stres satu 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 ketidaksesuaian 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 sehingga layanan tidak dapat menguraikannya.
Solusi:
-
Pastikan path URL uji stres persis cocok dengan path terdaftar layanan. Hapus garis miring ekstra di akhir (gunakan
/testalih-alih/test/). -
Sebelum menghasilkan encoding Base64, bungkus seluruh badan permintaan JSON dengan tanda kutip tunggal. Contohnya:
echo -n '{"file_names": ["xxx.pdf"]}' | base64
P: Tugas uji stres melaporkan error cannot unpack non-iterable NoneType object
Error ini biasanya disebabkan oleh format data yang salah dalam file uji stres. Saat format permintaan adalah JSON, pastikan persyaratan berikut terpenuhi:
-
Jika file hanya berisi satu permintaan JSON, permintaan tersebut tidak boleh mengandung line break atau carriage return.
-
Beberapa permintaan harus dipisahkan oleh line break.
Langkah selanjutnya
-
Untuk membuat dan mengelola tugas uji stres menggunakan Operasi API, lihat Stress testing tasks.
-
Untuk mempelajari cara memanggil layanan yang telah diuji stres untuk inferensi, lihat Overview of invocation methods.








