Pertimbangan desain - 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.

Pertimbangan desain

Bagian ini menjelaskan keputusan desain penting dan opsi konfigurasi untuk solusi Pengujian Beban Terdistribusi pada AWS, termasuk aplikasi yang didukung, jenis pengujian, opsi penjadwalan, dan pertimbangan penerapan.

Aplikasi-aplikasi yang didukung

Solusi ini mendukung pengujian aplikasi berbasis cloud dan aplikasi lokal selama Anda memiliki konektivitas jaringan dari akun AWS ke aplikasi Anda. Solusinya mendukung APIs yang menggunakan protokol HTTP atau HTTPS.

Jenis tes

Pengujian Beban Terdistribusi di AWS mendukung beberapa jenis pengujian: pengujian titik akhir HTTP sederhana,, K6 JMeter, dan Locust.

Tes titik akhir HTTP sederhana

Konsol web menyediakan antarmuka Konfigurasi Titik Akhir HTTP yang memungkinkan Anda menguji titik akhir HTTP atau HTTPS apa pun tanpa menulis skrip khusus. Anda menentukan URL endpoint, pilih metode HTTP (GET, POST, PUT, DELETE, dll.) Dari menu dropdown, dan secara opsional menambahkan header permintaan kustom dan muatan tubuh. Konfigurasi ini memungkinkan Anda untuk menguji APIs dengan token otorisasi kustom, jenis konten, atau header HTTP lainnya dan badan permintaan yang diperlukan oleh aplikasi Anda.

JMeter tes

Saat membuat skenario pengujian menggunakan konsol web, Anda dapat mengunggah skrip JMeter pengujian. Solusinya mengunggah skrip ke bucket skenario S3. Saat tugas Amazon ECS berjalan, mereka mengunduh JMeter skrip dari S3 dan menjalankan pengujian.

penting

Meskipun JMeter skrip Anda 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.

Jika Anda memiliki file JMeter input, Anda dapat zip file input bersama dengan JMeter skrip. Anda dapat memilih file zip saat membuat skenario pengujian.

Jika Anda ingin menyertakan plugin, file.jar apa pun yang disertakan dalam subdirektori /plugins dalam file zip yang dibundel akan disalin ke direktori JMeter ekstensi dan tersedia untuk pengujian beban.

catatan

Jika Anda menyertakan file JMeter input dengan file JMeter skrip Anda, Anda harus menyertakan jalur relatif dari file input dalam file JMeter skrip Anda. Selain itu, file input harus berada di jalur relatif. Misalnya, ketika file JMeter input dan file skrip Anda berada di/home/user directory and you refer to the input files in the JMeter script file, the path of input files must be ./INPUT_FILES. If you use /home/user/INPUT_FILES sebagai gantinya, pengujian akan gagal karena tidak akan dapat menemukan file input.

Jika Anda menyertakan JMeter plugin, file.jar harus dibundel dalam subdirektori bernama /plugins dalam root file zip. Sehubungan dengan root file zip, jalur ke file jar harus. /plugins/bundled_plugin.jar.

Untuk informasi selengkapnya tentang cara menggunakan JMeter skrip, lihat Panduan JMeter Pengguna.

Tes K6

Solusinya mendukung pengujian berbasis kerangka kerja K6. K6 dirilis di bawah lisensi AGPL-3.0. Solusinya menampilkan pesan pengakuan lisensi saat membuat tes K6 baru. Anda dapat mengunggah file uji K6 bersama dengan file input yang diperlukan dalam file arsip.

penting

Meskipun skrip K6 Anda dapat menentukan konkurensi (pengguna virtual), tahapan, ambang batas, dan parameter beban lainnya, solusinya akan mengganti konfigurasi ini dengan nilai yang Anda tentukan di Bentuk Lalu Lintas layar selama pembuatan pengujian. Konfigurasi Bentuk Lalu Lintas mengontrol jumlah tugas, konkurensi (pengguna virtual per tugas), durasi peningkatan, dan durasi penahanan untuk eksekusi pengujian.

Tes belalang

Solusinya mendukung pengujian berbasis kerangka kerja Locust. Anda dapat mengunggah file uji Locust bersama dengan file input yang diperlukan dalam file arsip.

penting

Meskipun skrip Locust Anda dapat menentukan konkurensi (jumlah pengguna), laju spawn, 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.

Tes penjadwalan

Solusinya menyediakan tiga opsi waktu eksekusi untuk menjalankan tes beban:

  • Jalankan Sekarang - Jalankan uji beban segera setelah pembuatan

  • Jalankan Once - Jalankan tes pada tanggal dan waktu tertentu di masa depan

  • Jalankan pada Jadwal - Buat tes berulang menggunakan ekspresi cron untuk menentukan jadwal

Ketika Anda memilih Run Once, Anda menentukan waktu berjalan dalam format 24 jam dan tanggal berjalan ketika uji beban harus mulai berjalan.

Ketika Anda memilih Run on a Schedule, Anda dapat memasukkan ekspresi cron secara manual atau memilih dari pola cron umum (seperti setiap jam, setiap hari pada waktu tertentu, hari kerja, atau bulanan). Ekspresi cron menggunakan format jadwal berbutir halus dengan bidang untuk menit, jam, hari bulan, bulan, hari dalam seminggu, dan tahun. Anda juga harus menentukan tanggal kedaluwarsa, yang menentukan kapan tes terjadwal harus berhenti berjalan. Untuk informasi selengkapnya tentang cara kerja penjadwalan, lihat bagian Alur kerja penjadwalan pengujian pada panduan ini.

catatan
  • Durasi tes: Pertimbangkan total durasi tes saat menjadwalkan. Misalnya, tes dengan waktu ramp-up 10 menit dan waktu penahanan 40 menit akan memakan waktu sekitar 80 menit untuk menyelesaikannya.

  • Interval minimum: Pastikan interval antara tes terjadwal lebih lama dari perkiraan durasi tes. Misalnya, jika tes memakan waktu sekitar 80 menit, jadwalkan untuk berjalan tidak lebih sering dari setiap 3 jam.

  • Batasan per jam: Sistem tidak mengizinkan tes dijadwalkan dengan perbedaan hanya satu jam meskipun perkiraan durasi tes kurang dari satu jam.

Tes bersamaan

Solusi ini membuat CloudWatch dasbor Amazon untuk setiap pengujian yang menampilkan output gabungan dari semua tugas yang berjalan di cluster Amazon ECS secara real time. CloudWatch Dasbor menunjukkan waktu respons rata-rata, jumlah pengguna bersamaan, jumlah permintaan yang berhasil, dan jumlah permintaan yang gagal. Solusinya menggabungkan setiap metrik per detik dan memperbarui dasbor setiap menit.

Manajemen pengguna

Selama konfigurasi awal, Anda memberikan nama pengguna dan alamat email yang digunakan Amazon Cognito untuk memberi Anda akses ke konsol web solusi. Konsol tidak menyediakan administrasi pengguna. Untuk menambahkan pengguna tambahan, Anda harus menggunakan konsol Amazon Cognito. Untuk informasi selengkapnya, lihat Mengelola Pengguna di Kumpulan Pengguna di Panduan Pengembang Amazon Cognito.

Untuk memigrasikan pengguna yang ada ke kumpulan pengguna Amazon Cognito, lihat Pendekatan blog AWS untuk memigrasikan pengguna ke kumpulan pengguna Amazon Cognito.

Penyebaran regional

Solusi ini menggunakan Amazon Cognito yang hanya tersedia di Wilayah AWS tertentu. Oleh karena itu, Anda harus menerapkan solusi ini di wilayah tempat Amazon Cognito tersedia. Untuk ketersediaan layanan terbaru menurut Wilayah, lihat Daftar Layanan Regional AWS.