Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Buat skenario pengujian
Membuat skenario pengujian melibatkan empat langkah utama: mengonfigurasi pengaturan umum, menentukan skenario, membentuk pola lalu lintas, dan meninjau konfigurasi Anda.
Langkah 1: Pengaturan umum
Konfigurasikan parameter dasar untuk uji beban Anda termasuk nama pengujian, deskripsi, dan opsi konfigurasi umum.
Identifikasi uji
-
Nama tes (Wajib) - Nama deskriptif untuk skenario pengujian Anda
-
Deskripsi tes (Diperlukan) - Rincian tambahan tentang tujuan pengujian dan konfigurasi
-
Tag (Opsional) - Tambahkan hingga 5 tag untuk mengkategorikan dan mengatur skenario pengujian Anda
Opsi penjadwalan
Konfigurasikan kapan tes harus berjalan:
-
Jalankan Sekarang - Jalankan tes segera setelah pembuatan.
-
Jalankan Sekali - Jadwalkan pengujian untuk dijalankan pada tanggal dan waktu tertentu.
-
Jalankan pada Jadwal - Gunakan penjadwalan berbasis cron untuk menjalankan pengujian secara otomatis secara berkala. Anda dapat memilih dari pola umum (setiap jam, harian, mingguan) atau menentukan ekspresi cron khusus. Untuk detail tentang format cron yang diterima, pola yang didukung, dan batasan, lihat referensi ekspresi Cron di panduan Pengembang.
Penjadwalan alur kerja
Saat Anda menjadwalkan pengujian, alur kerja berikut terjadi:
-
Parameter jadwal dikirim ke API solusi melalui Amazon API Gateway.
-
API meneruskan parameter ke fungsi Lambda yang membuat EventBridge jadwal Amazon Scheduler yang dikonfigurasi untuk berjalan pada tanggal yang ditentukan.
-
Untuk pengujian satu kali (Run Once), EventBridge jadwal Scheduler memanggil fungsi
api-servicesLambda pada tanggal dan waktu yang ditentukan, yang menjalankan pengujian. -
Untuk pengujian berulang (Run on a Schedule), EventBridge jadwal Scheduler memanggil fungsi
api-servicesLambda segera dan pada irama yang ditentukan oleh ekspresi cron atau rate hingga tanggal kedaluwarsa.
Data langsung
Pilih kotak centang Ser takan data langsung untuk melihat metrik real-time saat pengujian Anda sedang berjalan. Saat diaktifkan, Anda dapat memantau:
-
Waktu respons rata-rata.
-
Jumlah pengguna virtual.
-
Permintaan yang berhasil diperhitungkan.
-
Hitungan permintaan yang gagal.
Fitur data langsung menyediakan grafik real-time dengan data yang dikumpulkan pada interval satu detik. Untuk informasi selengkapnya, lihat Pem antauan dengan data langsung.
Langkah 2: Konfigurasi skenario
Tentukan skenario pengujian spesifik dan pilih kerangka pengujian pilihan Anda.
Pemilihan jenis uji
Pilih jenis uji beban yang ingin Anda lakukan:
-
Simple HTTP Endpoint - Uji titik akhir API tunggal atau halaman web dengan konfigurasi sederhana.
-
JMeter - Unggah skrip uji JMeter (file.jmx atau arsip.zip).
-
k6 - Unggah skrip uji k6 (file .js atau arsip.zip).
-
Locust - Unggah skrip uji Locust (file.py atau arsip.zip).
catatan
Keempat jenis pengujian bergantung pada komponen pihak ketiga. Solusi menjalankan pengujian melalui kerangka otomatisasi pengujian Taurus, yang mengeksekusi JMeter, k6, atau Locust tergantung pada jenis pengujian; Tes Endpoint HTTP sederhana dikonversi ke rencana pengujian JMeter dan dijalankan oleh Apache JMeter yang dibundel. Sebelum membuat pengujian, tinjau kerangka Third-party pengujian untuk pertimbangan keamanan, informasi lisensi, dan opsi tambalan.
Mode bentuk lalu lintas
Pilih sisi mana yang mengontrol beban yang dihasilkan tes. Mode yang Anda pilih mengubah bidang yang ditampilkan konsol di Langkah 3: Bentuk lalu lintas.
-
Standar - Solusinya mengontrol beban. Anda mengatur pengguna virtual, periode ramp-up, dan durasi penahanan. Standar adalah default, dan ini adalah satu-satunya mode yang mendukung pengujian Endpoint HTTP Sederhana.
-
Asli - Skrip Anda mengontrol beban. Solusi menjalankan skrip Anda di bawah baris perintah kerangka pengujian sendiri dan hanya menetapkan jumlah tugas per Wilayah dan durasi keamanan.
Native memerlukan skrip yang diunggah, jadi Anda tidak dapat memilihnya saat memilih jenis pengujian Simple HTTP Endpoint. Untuk definisi lengkap dan panduan tentang mode mana yang harus dipilih, lihat Mode bentuk lalu lintas.
Konfigurasi titik akhir HTTP
Ketika “Simple HTTP Endpoint” dipilih, solusi menghasilkan rencana pengujian JMeter dari konfigurasi Anda dan mengeksekusinya dengan biner Apache JMeter yang dibundel. Konfigurasikan pengaturan ini:
- Titik Akhir HTTP (Diperlukan)
-
Masukkan URL lengkap titik akhir yang ingin Anda uji. Misalnya,
https://api.example.com/users. Pastikan titik akhir dapat diakses dari infrastruktur AWS. - Metode HTTP (Diperlukan)
-
Pilih metode HTTP untuk permintaan Anda. Default-nya adalah
GET. Opsi lain termasukPOST,PUT,DELETE,PATCH,HEAD, danOPTIONS. - Permintaan Header (Opsional)
-
Tambahkan header HTTP kustom ke permintaan Anda. Contoh umumnya meliputi:
-
Content-Type: application/json -
Authorization: Bearer <token> -
User-Agent: LoadTest/1.0Pilih Tambahkan Header untuk menyertakan beberapa header.
-
- Muatan Tubuh (Opsional)
-
Tambahkan isi isi permintaan untuk permintaan POST atau PUT. Mendukung JSON, XML, atau format teks biasa. Sebagai contoh:
{"userId": 123, "action": "test"}.
Uji skrip kerangka kerja
Saat menggunakan JMeter, k6, atau Locust, unggah file skrip pengujian Anda atau arsip.zip yang berisi skrip pengujian dan file pendukung Anda.
Untuk JMeter, Anda dapat menyertakan plugin khusus dalam /plugins folder dalam arsip.zip Anda.
Untuk Locust, skrip uji di dalam arsip.zip harus diberi nama. locustfile.py Untuk menginstal paket Python pihak ketiga ke dalam wadah pada waktu berjalan, sertakan requirements.txt file dalam arsip, dan secara opsional packages subdirektori file roda untuk menginstalnya tanpa akses internet. Untuk informasi lebih lanjut, lihat Tes Locust.
penting
Dalam mode Standar, solusi mengontrol beban dan mengganti apa yang dinyatakan skrip Anda. Skrip pengujian Anda (JMeter, k6, atau Locust) dapat menentukan konkurensi (pengguna virtual), tingkat transaksi (TPS), waktu ramp-up, dan parameter beban lainnya. Solusinya menerapkan nilai yang Anda tentukan di layar Bentuk Lalu Lintas sebagai gantinya. Konfigurasi tersebut mengontrol jumlah tugas, konkurensi (pengguna virtual per tugas), durasi ramp-up, dan durasi penahanan untuk eksekusi pengujian.
Dalam mode Asli, skrip Anda mengontrol beban dan solusi meneruskan parameter tanpa beban ke kerangka kerja. Untuk perbedaan antara kedua mode, lihat Mode bentuk lalu lintas.
Durasi keamanan (mode Asli)
Saat Anda memilih mode Asli, konsol menampilkan bidang Durasi keamanan di samping unggahan skrip. Defaultnya adalah 4 jam dan maksimum adalah 24 jam.
Dalam mode Asli, durasi keamanan mengakhiri pengujian yang berjalan lebih lama dari yang Anda inginkan, karena skrip Anda memutuskan kapan proses selesai. Ini adalah penjaga, bukan jadwal. Jika pengujian masih berjalan ketika durasi berlalu, solusi menghentikan kerangka pengujian. Ini menyimpan hasil untuk bagian yang berjalan dan mencatat proses sebagai selesai daripada gagal. Atur di atas rentang terpanjang yang Anda harapkan skrip butuhkan.
Langkah 3: Bentuk lalu lintas
Konfigurasikan bagaimana lalu lintas akan didistribusikan selama pengujian, termasuk dukungan Multi-wilayah.
Mode bentuk lalu lintas
Solusinya menawarkan dua mode bentuk lalu lintas, Standar dan Asli. Mereka berbeda di sisi mana yang mengontrol beban: solusi, atau skrip yang Anda unggah. Anda memilih mode di Langkah 2: Konfigurasi skenario, dan itu menentukan bidang mana di bawah ini yang berlaku.
catatan
Mode asli adalah fitur pratinjau di versi 4.3.0. Mode standar adalah default dan merupakan perilaku yang selalu digunakan solusi.
Standar
Mode standar menempatkan solusi dalam kendali beban. Anda menetapkan jumlah tugas Fargate per Wilayah, pengguna virtual bersamaan per tugas, periode ramp-up, dan durasi penahanan. Solusinya menjalankan pengujian Anda melalui kerangka otomatisasi Taurus, yang menerjemahkan nilai-nilai tersebut ke dalam kontrol beban kerangka kerja yang mendasarinya sendiri. Taurus diutamakan daripada beban apa pun yang dinyatakan skrip Anda, jadi blok opsi k6, LocustLoadTestShape, atau grup utas JMeter ditulis ulang atau diabaikan. Pengguna virtual Wilayah adalah jumlah tugas dikalikan dengan konkurensi untuk setiap tugas, dan bentuknya sama kerangka mana pun yang Anda pilih. Ini adalah bagaimana setiap pengujian berjalan sebelum versi 4.3.0, jadi skenario yang dibuat sebelumnya tetap berperilaku persis seperti yang mereka lakukan dan tidak memerlukan perubahan.
Pilih Standar ketika bentuk beban berada di luar skrip, ditetapkan dari konsol, CLI, atau agen. Standar adalah satu-satunya mode yang memungkinkan Anda mengatur jumlah pengguna virtual yang tepat dan mengubah bentuk ramp-up dan hold tanpa menyentuh skrip. Hanya Standar yang mendukung tipe Simple HTTP Endpoint, di mana solusi menghasilkan rencana pengujian untuk Anda. Penggunaan umum: pemeriksaan kapasitas yang melibatkan 500 hingga 5.000 pengguna virtual, regresi malam yang menahan 1.000 pengguna selama sepuluh menit, atau perbandingan apa pun yang membutuhkan jalan yang identik. Batasnya adalah ekspresif. Apa pun yang tidak dapat diwakili Taurus tidak tersedia di sini, termasuk beberapa skenario tertimbang, ambang batas per tahap, dan pelaksana tingkat kedatangan.
Asli
Mode asli menempatkan skrip Anda mengendalikan beban. Solusinya menjalankan file yang Anda unggah di bawah baris perintah kerangka kerja sendiri:jmeter -n -t,k6 run, ataulocust --headless. Itu melewati tanda tanpa beban, jadi skrip Anda adalah satu-satunya otoritas pada lalu lintas yang dihasilkannya dan solusinya tidak pernah menulis ulang. Dua kontrol tersisa: berapa banyak tugas Fargate yang akan diluncurkan per Wilayah, dan durasi keamanan yang diperlukan hingga 24 jam. Durasi keamanan adalah perlindungan terhadap skrip yang tidak pernah keluar, bukan jadwal. Jika pengujian masih berjalan ketika durasi berlalu, solusi menghentikan kerangka kerja, mengumpulkan hasil untuk bagian yang dijalankan, dan mencatat proses berjalan sebagai selesai daripada gagal. Setiap tugas berjalan sebagai proses kerangka kerja independen tanpa koordinasi antar tugas, sehingga Wilayah menghasilkan satu salinan lengkap dari beban skrip yang dinyatakan untuk setiap tugas. Misalnya, skrip k6 yang menampung 200 pengguna virtual, dijalankan pada lima tugas, menempatkan 1.000 pengguna virtual pada target. Oleh karena itu, jumlah tugas adalah satu-satunya kontrol beban yang diberikan Native kepada Anda, dan ini bergerak dalam kelipatan penuh dari apa pun yang dinyatakan skrip. Mengubah ramp, waktu tunggu, atau jumlah pengguna virtual itu sendiri berarti mengedit skrip.
Pilih Native ketika Anda ingin menjalankan skrip persis seperti yang ditulis. Skrip yang sudah berjalan secara lokal atau di CI berjalan tidak berubah pada solusi, yang merupakan alasan utama untuk menjangkau Native. Native mempertahankan semua yang dapat diekspresikan kerangka kerja: skenario, tahapan, dan ambang batas k6; Kelas Locust LoadTestShape dan set tugas tertimbang; Timer JMeter dan grup utas. Pilih ketika bentuk beban adalah bagian dari arti tes, dan mereproduksinya dengan setia lebih penting daripada mengarahkannya dari luar. Penggunaan umum: menggunakan kembali skrip k6 dari pipeline tanpa menulis ulang, profil spike-then-pulih, atau skenario tertimbang yang tidak dapat diekspresikan oleh satu nomor konkurensi. Dua kendala mengikuti dari menjalankan kerangka kerja seperti yang ditulis. Native memerlukan skrip yang diunggah, jadi Simple HTTP Endpoint tidak tersedia. Skrip Locust tidak boleh dis processes etel, karena solusi menghitung permintaan hanya ketika Locust berjalan sebagai satu proses.
Memilih mode
| Jika Anda membutuhkan | Pilih |
|---|---|
|
Jumlah pengguna virtual yang tepat, ditetapkan dari luar skrip |
Standar |
|
Untuk mengubah waktu ramp-up atau tahan tanpa mengedit skrip |
Standar |
|
Satu URL tanpa skrip sama sekali |
Standar |
|
Bentuk beban yang sama terlepas dari kerangka kerja |
Standar |
|
Untuk menggunakan kembali CI atau skrip lokal tidak berubah |
Asli |
|
Tahapan, ambang batas, atau bentuk skrip itu sendiri dihormati |
Asli |
|
skenario k6, ambang batas, atau pelaksana tingkat kedatangan |
Asli |
|
Kumpulan tugas Locust |
Asli |
|
Timer JMeter dan grup utas berjalan persis seperti yang ditulis |
Asli |
|
Untuk menskalakan beban hanya dalam kelipatan keseluruhan dari beban skrip itu sendiri |
Asli |
Multi-Region konfigurasi lalu lintas
Pilih satu atau beberapa Wilayah AWS untuk mendistribusikan uji beban Anda secara geografis. Untuk setiap Wilayah yang dipilih, konfigurasikan:
- Jumlah Tugas
-
Jumlah kontainer (tugas) yang akan diluncurkan di cluster Fargate untuk skenario pengujian. Tugas tambahan tidak akan dibuat setelah akun mencapai batas “Sumber daya Fargate telah tercapai”. Jumlah Tugas berlaku untuk kedua mode bentuk lalu lintas. Dalam mode Asli, ini adalah satu-satunya kontrol beban yang ditawarkan konsol, karena setiap tugas menjalankan salinan lengkap skrip Anda.
- Konkurensi
-
Jumlah pengguna virtual bersamaan yang dihasilkan per tugas. Batas yang disarankan didasarkan pada pengaturan default 2 vCPU per tugas. Konkurensi dibatasi oleh sumber daya CPU dan Memori. Bidang ini hanya berlaku untuk mode Standar. Dalam mode Asli, konsol menampilkan nilai read-only dari “Ditetapkan oleh skrip” untuk setiap Wilayah, karena skrip Anda menetapkan jumlah pengguna virtualnya sendiri.
Tentukan jumlah pengguna
Jumlah pengguna yang dapat didukung wadah untuk pengujian dapat ditentukan dengan secara bertahap meningkatkan jumlah pengguna dan memantau kinerja di Amazon CloudWatch. Setelah Anda mengamati bahwa kinerja CPU dan memori mendekati batasnya, Anda telah mencapai jumlah maksimum pengguna yang dapat didukung wadah untuk pengujian itu dalam konfigurasi defaultnya (2 vCPU dan memori 4 GB).
Kalibrasi ini menetapkan nilai Concurrency, sehingga berlaku untuk mode Standar. Batas wadah yang ditetapkannya berlaku untuk mode Asli juga. Di sana Anda menaikkan atau menurunkan beban yang dinyatakan skrip Anda, alih-alih mengatur bidang Concurrency.
Proses kalibrasi
Anda dapat mulai menentukan batas pengguna bersamaan untuk pengujian Anda dengan menggunakan contoh berikut:
-
Buat tes dengan tidak lebih dari 200 pengguna.
-
Saat tes berjalan, pantau CPU dan Memori menggunakan CloudWatch konsol
: -
Di panel navigasi, di bawah Wawasan Kontainer, pilih Performance Monitoring.
-
Pada halaman pemantauan kinerja, dari menu tarik-turun kiri, pilih Cluster ECS.
-
Dari menu tarik-turun kanan, pilih cluster Amazon Elastic Container Service (Amazon ECS) Anda.
-
-
Saat memantau, perhatikan CPU dan Memori. Jika CPU tidak melebihi 75% atau Memori tidak melebihi 85% (abaikan puncak satu kali), Anda dapat menjalankan tes lain dengan jumlah pengguna yang lebih tinggi.
Ulangi langkah 1-3 jika pengujian tidak melebihi batas sumber daya. Secara opsional, Anda dapat meningkatkan sumber daya kontainer untuk memungkinkan jumlah pengguna bersamaan yang lebih tinggi. Namun, ini menghasilkan biaya yang lebih tinggi. Untuk detailnya, lihat Panduan Pengembang.
catatan
Untuk hasil yang akurat, jalankan hanya satu pengujian pada satu waktu saat menentukan batas pengguna bersamaan. Semua pengujian menggunakan cluster yang sama, dan wawasan CloudWatch kontainer mengumpulkan data kinerja berdasarkan cluster. Hal ini menyebabkan kedua pengujian dilaporkan ke Con CloudWatch tainer Insights secara bersamaan, yang menghasilkan metrik pemanfaatan sumber daya yang tidak akurat untuk satu pengujian.
Untuk informasi lebih lanjut tentang mengkalibrasi pengguna per mesin, lihat Meng kalibrasi Tes Taurus
catatan
Solusi ini menampilkan informasi kapasitas yang tersedia untuk setiap Wilayah, membantu Anda merencanakan konfigurasi pengujian dalam batas yang tersedia.
Tabel tugas yang tersedia
Tabel Tugas yang Tersedia menampilkan ketersediaan sumber daya untuk setiap Wilayah yang dipilih:
-
Wilayah - Nama Wilayah AWS.
-
vCPU per Tugas - Jumlah CPU virtual yang dialokasikan untuk setiap tugas (default: 2).
-
Batas Tugas DLT - Jumlah maksimum tugas yang dapat dibuat berdasarkan kuota vCPU sesuai permintaan Fargate akun Anda. Akun baru biasanya memiliki kuota yang lebih rendah; verifikasi batas Anda saat ini di konsol Kuota Layanan dan minta kenaikan jika diperlukan.
-
Tugas DLT yang Ter sedia - Jumlah tugas saat ini yang tersedia di Wilayah, dihitung sebagai Batas Tugas DLT Anda dikurangi vCPU yang sudah digunakan dengan menjalankan tugas Fargate.
Untuk menambah jumlah tugas atau vCPU yang tersedia per tugas, lihat Panduan Pengembang.
Durasi tes
Tentukan berapa lama uji beban Anda akan berjalan. Konsol hanya menampilkan bagian ini dalam mode Standar. Dalam mode Asli, skrip Anda menentukan berapa lama pengujian berjalan, dibatasi oleh durasi keamanan yang Anda tetapkan di Langkah 2: Konfigur asi skenario.
- Meningkatkan
-
Waktu untuk mencapai target konkurensi. Beban secara bertahap meningkat dari 0 ke tingkat konkurensi yang dikonfigurasi selama periode ini.
- Tahan Untuk
-
Durasi untuk mempertahankan beban target. Tes berlanjut pada konkurensi penuh untuk periode ini.
Langkah 4: Tinjau dan buat
Tinjau semua konfigurasi Anda sebelum membuat skenario pengujian. Verifikasi:
-
Pengaturan umum (nama, deskripsi, jadwal).
-
Konfigurasi skenario (jenis pengujian, titik akhir atau skrip).
-
Bentuk lalu lintas (mode, tugas, pengguna, durasi, Wilayah).
Setelah meninjau, pilih Buat untuk menyimpan skenario pengujian Anda.
Mengelola skenario pengujian
Setelah membuat skenario pengujian, Anda dapat:
-
Edit - Ubah konfigurasi pengujian. Kasus penggunaan umum meliputi:
-
Menyempurnakan bentuk lalu lintas untuk mencapai tingkat transaksi yang diinginkan.
-
-
Sal in - Gandakan skenario pengujian yang ada untuk membuat variasi. Kasus penggunaan umum meliputi:
-
Memperbarui titik akhir atau menambahkan headers/body parameter.
-
Menambahkan atau memodifikasi skrip pengujian.
-
-
Hapus - Hapus skenario pengujian yang tidak lagi Anda perlukan.