Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Data kinerja
Virtual Waiting Room on AWS telah diuji beban dengan alat yang disebut Locust
-
Locust 2.x dengan kustomisasi untuk penerapan Cloud AWS
-
Empat AWS Wilayah (
us-west-1,us-west-2,us-east-1,us-east-2) -
10 EC2 host
c5.4xlargeAmazon per Wilayah (total 40) -
32 proses belalang per host
-
Pengguna simulasi tersebar merata di antara 1.280 proses
Langkah-langkah pengujian end-to-end API untuk setiap proses pengguna:
-
Hubungi
assign_queue_numdan terima ID permintaan. -
Loop
queue_numdengan ID permintaan hingga mengembalikan posisi antrian pengguna (waktu singkat). -
Loop
serving_numsampai nilai yang dikembalikan adalah >= posisi antrian pengguna (lama). -
Jarang menelepon
waiting_room_sizeuntuk mengambil jumlah pengguna yang menunggu. -
Panggil
generate_tokendan terima JWT untuk digunakan di situs target.
Temuan
Tidak ada batasan praktis untuk jumlah klien yang dapat diproses melalui ruang tunggu.
Tingkat di mana pengguna memasuki ruang tunggu memengaruhi kuota fungsi Lambda yang dijalankan secara bersamaan untuk Wilayah tempat Lambda digunakan.
Uji beban tidak dapat melebihi batas permintaan API Gateway default sebesar 10.000 permintaan per detik dengan kebijakan caching yang digunakan. CloudFront
Fungsi get_queue_num Lambda memiliki tingkat pemanggilan mendekati 1:1 dengan tingkat pengguna yang masuk ke ruang tunggu. Fungsi Lambda ini dapat dibatasi selama tingkat tinggi pengguna masuk karena batas konkurensi atau batas burst. Pelambatan yang disebabkan oleh sejumlah besar pemanggilan fungsi get_queue_num Lambda dapat memengaruhi fungsi Lambda lainnya sebagai efek samping. Sistem keseluruhan terus beroperasi jika perangkat lunak klien dapat merespons dengan tepat jenis kesalahan penskalaan sementara ini dengan logika retry/back-off.
CloudFront Distribusi yang dikonfigurasi oleh tumpukan inti dalam konfigurasi kuota default dapat menangani ruang tunggu yang menampung 250.000 pengguna dengan setiap pengguna melakukan polling serving_num API setidaknya setiap detik.