Buat skenario pengujian - Pengujian Beban Terdistribusi di AWS

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, mendefinisikan 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 tes

  • Nama uji (Wajib) - Nama deskriptif untuk skenario pengujian Anda

  • Deskripsi tes (Wajib) - Rincian tambahan tentang tujuan pengujian dan konfigurasi

  • Tag (Opsional) - Tambahkan hingga 5 tag untuk mengkategorikan dan mengatur skenario pengujian Anda

Opsi penjadwalan

Konfigurasikan kapan pengujian harus dijalankan:

  • Jalankan Sekarang - Jalankan tes segera setelah pembuatan.

    Opsi Jalankan Sekarang dipilih
  • Jalankan Sekali - Jadwalkan tes untuk dijalankan pada tanggal dan waktu tertentu.

    Jalankan opsi Once dengan pemilih tanggal dan waktu
  • Jalankan pada Jadwal - Gunakan penjadwalan berbasis cron untuk menjalankan tes secara otomatis secara berkala. Anda dapat memilih dari pola umum (setiap jam, harian, mingguan) atau menentukan ekspresi cron kustom.

    Jalankan pada opsi Jadwal dengan pemilih pola cron

Alur kerja penjadwalan

Saat Anda menjadwalkan tes, alur kerja berikut akan terjadi:

  • Parameter jadwal dikirim ke API solusi melalui Amazon API Gateway.

  • API meneruskan parameter ke fungsi Lambda yang membuat aturan CloudWatch Peristiwa yang dijadwalkan berjalan pada tanggal yang ditentukan.

  • Untuk pengujian satu kali (Jalankan Sekali), aturan CloudWatch Peristiwa berjalan pada tanggal yang ditentukan dan fungsi api-services Lambda menjalankan pengujian.

  • Untuk pengujian berulang (Jalankan pada Jadwal), aturan CloudWatch Acara diaktifkan pada tanggal yang ditentukan, dan fungsi api-services Lambda membuat aturan baru yang berjalan segera dan berulang berdasarkan frekuensi yang ditentukan.

Data langsung

Pilih kotak centang Sertakan data langsung untuk melihat metrik waktu nyata saat pengujian Anda berjalan. Saat diaktifkan, Anda dapat memantau:

  • Waktu respons rata-rata.

  • Jumlah pengguna virtual.

  • Permintaan yang berhasil diperhitungkan.

  • Jumlah permintaan yang gagal.

Fitur data langsung menyediakan bagan waktu nyata dengan data yang dikumpulkan pada interval satu detik. Untuk informasi lebih lanjut, lihat Pemantauan 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:

Pilih jenis pengujian yang akan dijalankan
  • Single HTTP Endpoint - Uji titik akhir API tunggal atau halaman web dengan konfigurasi sederhana.

  • JMeter- Unggah skrip JMeter uji (file.jmx atau arsip.zip).

  • K6 - Unggah skrip uji K6 (file.js atau arsip.zip).

  • Locust - Unggah skrip pengujian Locust (file.py atau arsip.zip).

Gambar konfigurasi titik akhir HTTP: :images/test-types.png [Pilih jenis pengujian yang akan dijalankan] Saat “Titik Akhir HTTP Tunggal” dipilih, konfigurasikan pengaturan ini:

Titik Akhir HTTP (Diperlukan)

Masukkan URL lengkap dari 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. Pilihan lain termasukPOST,PUT,DELETE,PATCH,HEAD, danOPTIONS.

Permintaan Header (Opsional)

Tambahkan header HTTP kustom ke permintaan Anda. Contoh umum meliputi:

  • Content-Type: application/json

  • Authorization: Bearer <token>

  • User-Agent: LoadTest/1.0

    Pilih Tambahkan Header untuk menyertakan beberapa header.

Muatan Tubuh (Opsional)

Tambahkan konten badan permintaan untuk permintaan POST atau PUT. Mendukung JSON, XHTML, atau format teks biasa. Sebagai contoh: {"userId": 123, "action": "test"}.

Skrip kerangka uji

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.

penting

Meskipun skrip pengujian Anda (JMeter, K6, atau Locust) dapat menentukan konkurensi (pengguna virtual), tingkat transaksi (TPS), waktu peningkatan, dan parameter pemuatan lainnya, solusinya akan mengganti konfigurasi ini dengan nilai yang Anda tentukan di Layar Bentuk Lalu Lintas selama pembuatan pengujian. Konfigurasi Bentuk Lalu Lintas mengontrol jumlah tugas, konkurensi (pengguna virtual per tugas), durasi peningkatan, dan durasi penahanan untuk eksekusi pengujian.

Langkah 3: Bentuk lalu lintas

Konfigurasikan bagaimana lalu lintas akan didistribusikan selama pengujian Anda, termasuk dukungan multi-wilayah.

Layar konfigurasi Bentuk Lalu Lintas

Konfigurasi lalu lintas multi-wilayah

Pilih satu atau beberapa wilayah AWS untuk mendistribusikan uji beban Anda secara geografis. Untuk setiap wilayah yang dipilih, konfigurasikan:

Hitungan 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”.

Konkurensi

Jumlah pengguna virtual bersamaan yang dihasilkan per tugas. Batas yang disarankan didasarkan pada pengaturan default 2 v CPUs per tugas. Konkurensi dibatasi oleh sumber daya CPU dan Memori.

Tentukan jumlah pengguna

Jumlah pengguna yang dapat didukung kontainer 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 oleh wadah untuk pengujian tersebut dalam konfigurasi defaultnya (2 vCPU dan memori 4 GB).

Proses kalibrasi

Anda dapat mulai menentukan batas pengguna bersamaan untuk pengujian Anda dengan menggunakan contoh berikut:

  1. Buat tes dengan tidak lebih dari 200 pengguna.

  2. Saat pengujian berjalan, pantau CPU dan Memori menggunakan CloudWatch konsol:

    1. Dari panel navigasi kiri, di bawah Container Insights, pilih Performance Monitoring.

    2. Pada halaman Performance monitoring, dari menu drop-down kiri, pilih ECS Clusters.

    3. Dari menu tarik-turun kanan, pilih klaster Amazon Elastic Container Service (Amazon ECS) Anda.

  3. Saat memantau, perhatikan CPU dan Memori. Jika CPU tidak melampaui 75% atau Memori tidak melampaui 85% (abaikan puncak satu kali), Anda dapat menjalankan tes lain dengan jumlah pengguna yang lebih tinggi.

Ulangi langkah 1-3 jika tes 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 klaster. Hal ini menyebabkan kedua pengujian dilaporkan ke CloudWatch Container Insights secara bersamaan, yang menghasilkan metrik pemanfaatan sumber daya yang tidak akurat untuk satu pengujian.

Untuk informasi lebih lanjut tentang kalibrasi pengguna per mesin, lihat Mengkalibrasi Tes Taurus dalam dokumentasi. BlazeMeter

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:

  • Region - Nama wilayah AWS.

  • v CPUs per Tugas - Jumlah virtual yang CPUs dialokasikan untuk setiap tugas (default: 2).

  • Batas Tugas DLT - Jumlah maksimum tugas yang dapat dibuat berdasarkan batas Fargate akun Anda (default: 2000).

  • Tugas DLT yang Tersedia - Jumlah tugas saat ini yang tersedia untuk digunakan di wilayah tersebut (default: 2000).

Tabel yang menunjukkan tugas yang tersedia per wilayah

Untuk menambah jumlah tugas yang tersedia atau v CPUs per tugas, lihat Panduan Pengembang.

Durasi tes

Tentukan berapa lama uji beban Anda akan berjalan:

Naik

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 (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.

  • Salin - 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 butuhkan.