View a markdown version of this page

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

Backend

Backend terdiri dari pipa gambar kontainer dan mesin pengujian beban yang Anda gunakan untuk menghasilkan beban untuk pengujian. Anda berinteraksi dengan backend melalui ujung depan. Selain itu, Amazon ECS pada tugas AWS Fargate yang diluncurkan untuk setiap pengujian ditandai dengan pengenal pengujian (ID) unik. Tag ID uji ini dapat digunakan untuk membantu Anda memantau biaya untuk solusi ini. Untuk informasi tambahan, lihat Tag Alokasi User-Defined Biaya di Panduan Pengguna AWS Billing and Cost Management.

Pipa gambar kontainer

Solusi ini menggunakan gambar kontainer yang dibangun dengan Amazon Linux 2023 sebagai gambar dasar dengan kerangka pengujian beban Taurus diinstal. Taurus adalah kerangka kerja otomatisasi pengujian open-source yang mendukung JMeter, K6, Locust, dan alat pengujian lainnya. AWS menghosting gambar ini di repositori publik Amazon Elastic Container Registry (Amazon ECR). Solusinya menggunakan gambar ini untuk menjalankan tugas di Amazon ECS di klaster AWS Fargate.

Untuk informasi selengkapnya, lihat bagian kustomisasi gambar Container dari panduan ini.

Pengujian penyediaan kerangka kerja

Tiga kerangka kerja pengujian yang didukung disediakan pada titik yang berbeda dalam siklus hidup solusi untuk menyeimbangkan ukuran gambar dengan fleksibilitas versi:

  • Apache JMeter - Dipentaskan dalam bucket S3 di akun Anda selama penerapan tumpukan, dan diekstraksi saat runtime pengujian saat pengujian JMeter atau Single HTTP Endpoint berjalan.

  • Grafana K6 — Diunduh langsung dari penyedia kerangka kerja dan diekstraksi saat runtime pengujian, hanya ketika pengujian K6 berjalan.

  • Locust — Dipasang ke dalam image container pada waktu pembuatan dan tetap menganggur hingga pengujian Locust berjalan.

catatan

K6 memerlukan akses jaringan keluar ke rilis Grafana K6 saat runtime pengujian. Jalan keluar yang dibatasi akan menyebabkan tes K6 gagal pada langkah pengunduhan.

Infrastruktur pengujian

Selain CloudFormation templat utama, solusinya menyediakan templat regional untuk meluncurkan sumber daya yang diperlukan untuk menjalankan pengujian di beberapa Wilayah. Solusinya menyimpan template ini di Amazon S3 dan menyediakan tautan ke sana di konsol web. Setiap tumpukan regional mencakup VPC, kluster AWS Fargate, dan fungsi Lambda untuk memproses data langsung.

Untuk informasi selengkapnya tentang cara menerapkan infrastruktur pengujian di Wilayah tambahan, lihat bagian Multi-Region penerapan panduan ini.

Mesin uji beban

Solusi Pengujian Beban Terdistribusi menggunakan Amazon Elastic Container Service (Amazon ECS) Container Service (Amazon ECS) dan AWS Fargate untuk mensimulasikan ribuan pengguna bersamaan di beberapa Wilayah, menghasilkan permintaan HTTP dengan kecepatan berkelanjutan.

Anda menentukan parameter pengujian menggunakan konsol web yang disertakan. Solusinya menggunakan parameter ini untuk menghasilkan skenario pengujian JSON dan menyimpannya di Amazon S3. Untuk informasi selengkapnya tentang skrip pengujian dan parameter pengujian, lihat Jenis pengujian di bagian ini.

Mesin status AWS Step Functions menjalankan dan memantau tugas Amazon ECS di klaster AWS Fargate. Mesin status AWS Step Functions mencakup fungsi AWS Lambda ecr-checker, fungsi AWS Lambda pemeriksa status tugas, fungsi AWS Lambda pelari tugas, fungsi AWS Lambda pembatal tugas, dan fungsi AWS Lambda pengurai hasil. Untuk informasi selengkapnya tentang alur kerja, lihat bagian Alur kerja Uji panduan ini. Untuk informasi lebih lanjut tentang hasil tes, lihat bagian Hasil tes dari panduan ini. Untuk informasi selengkapnya tentang alur kerja pembatalan pengujian, lihat bagian Alur kerja pembatalan pengujian pada panduan ini.

Jika Anda memilih data langsung, solusi akan memulai fungsi Lambda penerbit data waktu nyata di setiap Wilayah dengan CloudWatch log yang sesuai dengan tugas Fargate di Wilayah tersebut. Solusinya kemudian memproses dan menerbitkan data ke topik di AWS IoT Core dalam Wilayah tempat Anda meluncurkan tumpukan utama. Untuk informasi selengkapnya, lihat bagian Data langsung dari panduan ini.