Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Données de performance
La charge de Virtual Waiting Room on AWS a été testée à l'aide d'un outil appelé Locust
-
Locust 2.x avec personnalisations pour les déploiements dans le cloud AWS
-
Quatre AWS régions (
us-west-1,us-west-2,us-east-1,us-east-2) -
10 EC2 hôtes
c5.4xlargeAmazon par région (40 au total) -
32 processus Locust par hôte
-
Les utilisateurs simulés étaient répartis équitablement entre les 1 280 processus
Les étapes de test de l' end-to-endAPI pour chaque processus utilisateur :
-
Appelez
assign_queue_numet recevez un numéro de demande. -
Faites
queue_numune boucle avec l'ID de demande jusqu'à ce qu'elle renvoie la position de l'utilisateur dans la file d'attente (court laps de temps). -
Boucle
serving_numjusqu'à ce que la valeur renvoyée soit >= la position de l'utilisateur dans la file d'attente (longue durée). -
Appelez rarement
waiting_room_sizepour connaître le nombre d'utilisateurs en attente. -
Appelez
generate_tokenet recevez un JWT à utiliser sur le site cible.
Conclusions
Il n'y a pas de limite maximale pratique au nombre de clients pouvant être traités dans la salle d'attente.
La fréquence à laquelle les utilisateurs entrent dans la salle d'attente a un impact sur les quotas d'exécution simultanée de la fonction Lambda pour la région dans laquelle elle est déployée.
Le test de charge n'a pas réussi à dépasser les limites de 10 000 requêtes par seconde par défaut d'API Gateway avec les politiques de mise en cache utilisées avec CloudFront.
La fonction get_queue_num Lambda a un taux d'invocation proche de 1:1 par rapport au taux d'utilisateurs entrant dans la salle d'attente. Cette fonction Lambda peut être limitée lorsque le nombre d'utilisateurs entrants est élevé en raison des limites de simultanéité ou des limites de rafale. La limitation provoquée par un grand nombre d'invocations de fonctions get_queue_num Lambda peut avoir un impact secondaire sur les autres fonctions Lambda. L'ensemble du système continue de fonctionner si le logiciel client peut répondre de manière appropriée à ce type d'erreur de dimensionnement temporaire avec une logique de réessai/de réduction.
La CloudFront distribution configurée par le noyau dans une configuration de quotas par défaut peut gérer une salle d'attente contenant 250 000 utilisateurs, chaque utilisateur interrogeant l'serving_numAPI au moins toutes les secondes.