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 aturan CloudWatch Acara 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 AWS task-status-checker Lambda memeriksa apakah tugas Amazon Elastic Container Service (Amazon ECS) 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 task-status-checker AWS Lambda 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 tugas IDs 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 task-status-checker 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 XMLyang dimulai 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:
Arsitektur MCP Server
-
Interaksi pelanggan - Pelanggan berinteraksi dengan MCP DLT melalui MCP Endpoint yang diselenggarakan oleh AWS Gateway. AgentCore Agen AI terhubung ke titik akhir ini untuk meminta akses memuat data pengujian.
-
Otorisasi - AgentCore Gateway menangani otorisasi terhadap klien aplikasi kumpulan pengguna Cognito Solusi. Gateway memvalidasi token Cognito pengguna untuk memastikan mereka memiliki izin untuk mengakses server DLT MCP. Pengguna yang berwenang diberikan akses dengan akses alat agen terbatas pada operasi hanya-baca.
-
Spesifikasi alat - AgentCore Gateway terhubung ke fungsi Lambda Server MCP DLT. Spesifikasi alat mendefinisikan alat yang tersedia yang dapat digunakan agen AI untuk berinteraksi dengan data pengujian beban Anda.
-
Akses API hanya-baca - Fungsi Lambda dicakup untuk akses API hanya-baca melalui titik akhir DLT API Gateway yang ada. Fungsi ini 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 yang didukung AI.