Exécuter un scénario de test - Tests de charge distribués sur AWS

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.

Exécuter un scénario de test

Après avoir créé un scénario de test, vous pouvez l'exécuter immédiatement ou le planifier pour qu'il s'exécute à un moment précis dans le futur. Lorsque vous accédez à un test en cours, la console affiche l'onglet Détails du scénario avec l'état des tâches et des mesures en temps réel.

Scénario de test en cours indiquant l'état des tâches et les mesures en temps réel

Affichage des détails du scénario

L'onglet Détails du scénario affiche des informations clés sur votre test. Le tableau d'état des tâches fournit des informations en temps réel pour chaque région.

Tableau d'état des tâches

Le tableau d'état des tâches affiche des informations en temps réel pour chaque région :

  • Région : région AWS dans laquelle les tâches sont exécutées

  • Nombre de tâches : nombre total de tâches configurées pour la région

  • Concurrence : nombre d'utilisateurs virtuels par tâche

  • En cours d'exécution : nombre de tâches exécutant actuellement le test

  • En attente : nombre de tâches en attente de démarrage

  • Provisionnement : nombre de tâches en cours de provisionnement

Flux de travail d'exécution des tests

Lorsqu'un test démarre, le flux de travail suivant se produit :

  1. Provisionnement des tâches : la solution fournit des conteneurs (tâches) dans les régions AWS spécifiées. Les tâches apparaissent dans la colonne « Provisioning ».

  2. Démarrage des tâches : la solution continue de provisionner les tâches jusqu'à ce que le nombre de tâches cible soit atteint dans chaque région. Les tâches passent de « Provisionnement » à « En attente » puis « En cours ».

  3. Génération de trafic : une fois que la solution a provisionné toutes les tâches d'une région, elle commence à envoyer du trafic vers votre point de terminaison cible.

  4. Exécution du test : le test s'exécute pendant la durée configurée (montée en puissance et temps d'attente).

  5. Analyse des résultats : à la fin du test, une tâche d'analyse en arrière-plan regroupe et traite les résultats de toutes les régions.

Statuts d'exécution des tests

Les essais peuvent avoir les statuts suivants :

  • Planifié : le test est prévu pour être exécuté dans le futur.

  • En cours d'exécution : le test est actuellement en cours.

  • Annulé : un utilisateur a annulé un test en cours.

  • Erreur - Le test a rencontré une erreur.

  • Terminé : le test s'est terminé avec succès et les résultats sont prêts.

Surveillance à l'aide de données en temps réel

Si vous avez activé les données en temps réel lors de la création du scénario de test, vous pouvez consulter les métriques en temps réel pendant l'exécution du test. La section Mesures en temps réel affiche quatre graphiques qui sont mis à jour en permanence au fur et à mesure que le test progresse, les données étant agrégées à intervalles d'une seconde.

Graphiques de métriques en temps réel montrant les données de performance des tests en temps réel

Descriptions des graphiques

Temps de réponse moyen

Affiche le temps de réponse moyen en secondes pour les demandes traitées par chaque région. L'axe Y indique le temps de réponse en secondes et l'axe X indique l'heure du jour. Chaque région est représentée par une couleur différente dans la légende.

Utilisateurs virtuels

Indique le nombre d'utilisateurs virtuels simultanés générant activement de la charge dans chaque région. Le graphique montre comment les utilisateurs virtuels augmentent pendant le test et maintiennent le niveau de simultanéité cible.

Demandes réussies

Affiche le nombre cumulé de demandes réussies au fil du temps pour chaque région. Le graphique montre le taux de traitement des demandes acceptées.

Demandes ayant échoué

Affiche le nombre cumulé de demandes ayant échoué au fil du temps pour chaque région. Un nombre faible ou nul indique une bonne exécution du test.

Visualisation multirégionale

Lorsque vous effectuez des tests dans plusieurs régions, chaque graphique affiche les données de toutes les régions simultanément. La légende au bas de chaque graphique indique la couleur qui représente chaque région (par exemple, us-west-2 et us-east-1).

Mise en œuvre technique

Le groupe de CloudWatch journaux pour les tâches Fargate contient un filtre d'abonnement qui capture les résultats des tests. Lorsque le modèle est détecté, une fonction Lambda structure les données et les publie dans une rubrique AWS IoT Core. La console Web s'abonne à cette rubrique et affiche les statistiques en temps réel.

Note

Les données en temps réel sont éphémères et ne sont disponibles que pendant le test. La console Web conserve un maximum de 5 000 points de données, après quoi les données les plus anciennes sont remplacées par les plus récentes. Si la page est actualisée, les graphiques seront vides et repartiront du prochain point de données disponible. Une fois le test terminé, la solution stocke les données de résultats dans DynamoDB et Amazon S3. Si aucune donnée n'est encore disponible, les graphiques indiquent « Aucune donnée n'est disponible ».

Annulation d'un test

Vous pouvez annuler un test en cours depuis la console Web. Lorsque vous annulez un test, le flux de travail suivant se produit :

  1. La demande d'annulation est envoyée à l'microservicesAPI

  2. L'microservicesAPI appelle la fonction task-canceler Lambda, qui arrête toutes les tâches actuellement lancées.

  3. Si la fonction task-runner Lambda continue de s'exécuter après l'appel d'annulation initial, les tâches peuvent continuer à être lancées brièvement

  4. Une fois la fonction task-runner Lambda terminée, AWS Step Functions passe à l'Cancel Testétape, qui exécute à nouveau la fonction task-canceler Lambda pour arrêter les tâches restantes

Note

Les tests annulés mettent du temps à terminer le processus d'arrêt car la solution met fin à tous les conteneurs. Le statut du test passera à « Annulé » une fois que toutes les ressources auront été nettoyées.