Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Cara Kerja Pengujian Beban Terdistribusi di AWS
Rincian rinci berikut menunjukkan langkah-langkah yang terlibat dalam menjalankan skenario pengujian.
Alur kerja uji
-
Anda menggunakan konsol web untuk mengirimkan skenario pengujian yang menyertakan detail konfigurasi ke API solusi.
-
Konfigurasi skenario pengujian diunggah ke Amazon Simple Storage Service (Amazon S3) sebagai file JSON ().
s3://<bucket-name>/test-scenarios/<$TEST_ID>/<$TEST_ID>.json -
Mesin status AWS Step Functions berjalan menggunakan ID pengujian, jumlah tugas, jenis pengujian, dan jenis file sebagai input mesin status AWS Step Functions. Jika pengujian dijadwalkan, pengujian akan membuat jadwal Amazon EventBridge Scheduler terlebih dahulu, yang memicu AWS Step Functions pada tanggal yang ditentukan. Untuk detail selengkapnya tentang alur kerja penjadwalan, lihat bagian Alur kerja penjadwalan pengujian pada panduan ini.
-
Detail konfigurasi disimpan dalam tabel skenario Amazon DynamoDB.
-
Dalam alur kerja runner tugas AWS Step Functions, fungsi pemeriksa status tugas AWS Lambda memeriksa apakah tugas Amazon Elastic Container Service (Amazon ECS) Elastic Container Service (Amazon ECS) sudah berjalan untuk ID pengujian yang sama. Jika tugas dengan ID pengujian yang sama ditemukan berjalan, itu menyebabkan kesalahan. Jika tidak ada tugas Amazon ECS yang berjalan di klaster AWS Fargate, fungsi akan mengembalikan ID pengujian, jumlah tugas, dan jenis pengujian.
-
Fungsi AWS Lambda pelari tugas mendapatkan detail tugas dari langkah sebelumnya dan menjalankan tugas pekerja Amazon ECS di klaster AWS Fargate. Amazon ECS API menggunakan RunTask tindakan untuk menjalankan tugas pekerja. Tugas pekerja ini diluncurkan dan kemudian menunggu pesan awal dari tugas pemimpin untuk memulai tes. RunTask Tindakan ini dibatasi hingga 10 tugas per definisi. Jika jumlah tugas Anda lebih dari 10, definisi tugas akan berjalan beberapa kali hingga semua tugas pekerja dimulai. Fungsi ini juga menghasilkan awalan untuk membedakan pengujian saat ini dalam fungsi AWS Lambda yang mengurai hasil.
-
Fungsi AWS Lambda pemeriksa status tugas memeriksa apakah semua tugas pekerja Amazon ECS berjalan dengan ID pengujian yang sama. Jika tugas masih disediakan, ia menunggu selama satu menit dan memeriksa lagi. Setelah semua tugas Amazon ECS berjalan, ia mengembalikan ID pengujian, jumlah tugas, jenis pengujian, semua ID tugas dan awalan dan meneruskannya ke fungsi task-runner.
-
Fungsi AWS Lambda pelari tugas berjalan lagi, kali ini meluncurkan satu tugas Amazon ECS untuk bertindak sebagai node pemimpin. Tugas ECS ini mengirimkan pesan uji awal ke setiap tugas pekerja untuk memulai pengujian secara bersamaan.
-
Fungsi pemeriksa status tugas AWS Lambda kembali memeriksa apakah tugas Amazon ECS berjalan dengan ID pengujian yang sama. Jika tugas masih berjalan, ia menunggu selama satu menit dan memeriksa lagi. Setelah tidak ada tugas Amazon ECS yang berjalan, ia mengembalikan ID pengujian, jumlah tugas, jenis pengujian, dan awalan.
-
Saat fungsi AWS Lambda pelari tugas menjalankan tugas Amazon ECS di klaster AWS Fargate, setiap tugas mengunduh konfigurasi pengujian dari Amazon S3 dan memulai pengujian.
-
Setelah pengujian berjalan, waktu respons rata-rata, jumlah pengguna bersamaan, jumlah permintaan yang berhasil, dan jumlah permintaan yang gagal untuk setiap tugas dicatat di Amazon CloudWatch dan dapat dilihat di CloudWatch dasbor.
-
Jika Anda menyertakan data langsung dalam pengujian, solusi akan memfilter hasil pengujian real-time CloudWatch menggunakan filter langganan. Kemudian solusinya meneruskan data ke fungsi Lambda.
-
Fungsi Lambda kemudian menyusun data yang diterima dan menerbitkannya ke topik AWS IoT Core.
-
Konsol web berlangganan topik AWS IoT Core untuk pengujian dan menerima data yang dipublikasikan ke topik untuk membuat grafik data waktu nyata saat pengujian sedang berjalan.
-
Saat pengujian selesai, gambar kontainer mengekspor laporan terperinci sebagai file XHTML ke Amazon S3. Setiap file diberi UUID untuk nama file. Misalnya, s3://dlte - bucket/test -scenarios/ <$TEST_ID> /results/ <$UUID> .json.
-
Saat file XHTML diunggah ke Amazon S3, fungsi AWS Lambda parser hasil membaca hasil dalam file XMLdimulai dengan awalan dan mem-parsing dan menggabungkan semua hasil menjadi satu hasil yang diringkas.
-
Fungsi AWS Lambda parser hasil menulis hasil agregat ke tabel Amazon DynamoDB.
Alur kerja MCP Server (Opsional)
Jika Anda menerapkan integrasi MCP Server opsional, agen AI dapat mengakses dan menganalisis data pengujian beban Anda melalui alur kerja berikut:
Alur kerja MCP Server
-
Interaksi pelanggan - Pelanggan berinteraksi dengan solusi Pengujian Beban Terdistribusi melalui agen AI. Agen terhubung ke MCP Endpoint untuk meminta akses untuk memuat data pengujian.
-
Otorisasi - AgentCore Gateway memvalidasi token otentikasi Amazon Cognito pengguna untuk memastikan pengguna memiliki izin untuk mengakses Server MCP DLT. Pengguna yang berwenang menerima akses hanya-baca untuk memuat data pengujian melalui alat agen yang tersedia.
-
Pemanggilan alat - AgentCore Gateway meneruskan permintaan alat MCP resmi ke fungsi Lambda Alat MCP DLT. Fungsi Lambda mengimplementasikan alat yang digunakan agen AI untuk mengambil informasi pengujian beban.
-
Read-only Akses API - Fungsi DLT MCP Tools Lambda memanggil titik akhir DLT API Gateway yang ada untuk mengambil data pengujian dari DynamoDB, S3, dan tumpukan regional. CloudFormation Fungsi Lambda menyediakan empat operasi utama:
-
Daftar skenario - Mengambil daftar skenario pengujian dari tabel skenario DynamoDB
-
Dapatkan hasil tes skenario - Akses hasil pengujian terperinci untuk skenario tertentu dari DynamoDB dan S3
-
Dapatkan pelari uji beban Fargate - Kueri informasi tentang menjalankan tugas Fargate di cluster ECS
-
Dapatkan tumpukan Regional yang tersedia - Ambil informasi tentang infrastruktur regional yang digunakan dari CloudFormation
-
Integrasi MCP Server memanfaatkan infrastruktur DLT yang ada (API Gateway, Cognito, DynamoDB, S3) untuk menyediakan akses yang aman dan hanya-baca untuk menguji data untuk analisis dan wawasan. AI-powered