Tests de temps de réponse : comment mesurer les performances d’une API

⚡ Résumé intelligent

Les tests de temps de réponse mesurent le temps nécessaire à un système pour répondre à une requête, depuis l'envoi de celle-ci par l'utilisateur jusqu'à la confirmation de sa résolution par l'application. Ce guide présente les indicateurs, les trois seuils importants et les outils permettant de les mesurer.

  • Définition principale : Le délai de réponse couvre l'intégralité du processus, de l'envoi de la requête à la fin du traitement.
  • (I.e. Trois indicateurs : Le temps de réponse moyen, le temps de réponse maximal et le taux d'erreur décrivent ensemble le comportement du système.
  • 🟢 0.1 seconde : L'effet est instantané, sans aucune interruption perçue par l'utilisateur.
  • 🟡 1 seconde : La limite supérieure d'un flux de pensée ininterrompu.
  • 🔴 10 secondes: La limite de l'attention, bien qu'en pratique les utilisateurs abandonnent bien avant.
  • 🧪 Méthode de mesure: Encapsuler un processus métier en transactions de début et de fin au sein d'un outil de test de charge.

Tests de temps de réponse

Qu'est-ce qu'un test de temps de réponse ?

Tests de temps de réponse Le temps de réponse mesure le temps nécessaire à un nœud du système pour répondre à la requête d'un autre. Il s'agit de l'intervalle entre la réception d'une requête et la fin du traitement correspondant. Par exemple, si vous avez une API et que vous souhaitez connaître précisément le temps d'exécution et de renvoi des données au format JSON, le temps de réponse mesure la réactivité du serveur pour chaque transaction ou requête.

Le temps de réponse commence lorsqu'un utilisateur envoie une demande et se termine au moment où l'application indique que la demande est terminée.

Comment mesurer le temps de réponse

Pour mesurer le temps de réponse, nous pouvons utiliser des outils de test en entourant un processus métier important de transactions de début et de fin. Un processus métier peut être une action ou un ensemble d'actions que les utilisateurs effectuent dans l'application pour accomplir une tâche métier comme se connecter à l'application ou acheter un livre sur Amazon.com

Tests de temps de réponse
Tests de temps de réponse

Pour le même processus de mesure du temps de réponse d'une API, la réponse variera légèrement d'un outil à l'autre. Voici pourquoi

  • Étape 1) Méthode de calcul des métriques collectées par chaque outil de test du temps de réponse API
  • Étape 2) Outils Simulez la vitesse de chargement et de capture, ce qui peut faire une différence dans le temps de réponse
  • Étape 3) Éléments supplémentaires enregistrés lors de la surveillance des charges des utilisateurs
  • Étape 4) Les métriques informatiques collectées par chaque outil augmentent le temps de réponse en raison d'une consommation élevée de ressources.
  • Étape 5) L'architecture des deux outils peut être différente

Types de mesures de réponse

Mesures du temps de réponse Explication
Temps de réponse moyen Le temps de réponse moyen est le temps moyen pris pour chaque demande aller-retour. Le Temps de Réponse Moyen inclut le temps de chargement des fichiers HTML, CSS, XML, images, JavaFichiers de script, etc. Par conséquent, la moyenne est affectée lorsque des composants lents sont présents dans le système.
Temps de réponse maximal Le Peak Response Time nous aide à trouver les composants potentiellement problématiques. Cela nous aide à trouver toute irrégularité dans le site Web ou le système où une certaine demande n'est pas traitée correctement. Par exemple, une requête de base de données volumineuse peut être exécutée, ce qui peut affecter le temps de réponse. Cette requête ne permet pas à la page de se charger au moment souhaité.
Taux d'erreur Le taux d'erreur est un calcul mathématique qui affiche le pourcentage de requêtes problématiques par rapport à l'ensemble des requêtes. Ce pourcentage comptabilise tous les codes d'état HTTP indiquant une erreur sur le serveur, ainsi que les requêtes ayant expiré.

Trois seuils de temps de réponse importants

Deux chiffres sont essentiels dans tout rapport sur les temps de réponse :

  • Temps de réponse moyen
  • temps de réponse maximal ou de pointe

Ensemble, ces graphiques montrent le temps d'attente moyen d'un utilisateur et le temps d'attente de l'utilisateur le plus malchanceux.

Voici les principales valeurs d'exemple de test de temps de réponse

Temps de réponse Importance
Deuxième 0.1 C’est le temps de réponse préféré. Si le temps de réponse est de 0.1, les utilisateurs ont toujours l'impression que l'application ou le système répond instantanément et ne ressentent aucune interruption.
Deuxième 1.0 Il s'agit de la limite supérieure acceptée pour une expérience utilisateur fluide. Les utilisateurs ne devraient pas ressentir d'interruption, même s'ils peuvent constater un léger délai. Un temps de réponse supérieur à une seconde peut nuire à l'expérience utilisateur.
10 secondes Il s'agit d'une limite maximale au-delà de laquelle le temps de réponse dépasse la limite acceptable. Cependant, à l'heure actuelle, si le temps de réponse dépasse 6 secondes, l'utilisateur quittera ce site ou quittera l'application.

Visez un temps de réponse compris entre 0.1 et 1 seconde autant que possible. Les utilisateurs s'adaptent aux systèmes plus lents, mais leur satisfaction chute brutalement au-delà de 2 secondes environ, et chaque seconde supplémentaire augmente le risque d'abandon.

Outils de test des temps de réponse

De nombreux outils de test de temps de réponse sont disponibles. Voici deux des plus utilisés :

1) JMeter

Apache JMeter est un outil de test de charge open source. Il est conçu pour mesurer les performances des sites Web. Cet outil de test de charge peut être utilisé dans la méthodologie DevOps.

JMeter

Caractéristiques :

  • JMeter permet d'effectuer des tests de charge et de performances pour différents types de serveurs.
  • Cet outil de test de charge stocke ses plans de test au format XML qui permet aux utilisateurs de générer le plan de test à l'aide d'un éditeur de texte.
  • L'outil peut être utilisé pour effectuer des test fonctionel des candidatures.

Lien de téléchargement: Apache JMeter téléchargements


2) Charger le coureur

Loadrunner L'outil de test de charge de Micro Focus est largement utilisé. C'est l'une des meilleures alternatives à JMeter qui offre une interface conviviale de surveillance et d’analyse avec des graphiques et des graphiques en couleur.

Coureur de charge

Caractéristiques :

  • Prend en charge les tests continus
  • LoadRunner peut fonctionner efficacement sur plusieurs environnements d'entreprise
  • Il est possible d'exécuter plusieurs scripts de protocole avec Loadrunner
  • Intégration avec divers outils de développement comme Visual Studio, Jenkins, Selenium, etc.

Lien de téléchargement: LoadRunner Professionnel

Comment ce test s'intègre à la famille des tests de performance

Les tests de performance constituent un terme générique. Les variantes décrites ci-dessous diffèrent uniquement par la forme de la charge appliquée et sa durée, ce qui explique la confusion fréquente entre elles.

Type de test Modèle de charge Question à laquelle il répond
Test de charge Charge de pointe prévue, courte durée Le système atteint-il ses objectifs en conditions de trafic de pointe normales ?
Tests de résistance Augmentation au-delà de la capacité jusqu'à la défaillance Où se casse-t-il, et la défaillance est-elle gracieuse ?
Test de pointe Montée en puissance extrême et soudaine, puis retrait Peut-elle survivre et se remettre d'un choc de trafic ?
Essais d'endurance La charge normale a été maintenue pendant de nombreuses heures. Les performances se dégradent-elles avec le temps ?
Test de trempage Charge soutenue sur une période prolongée Y a-t-il des fuites de mémoire ou une saturation des ressources ?
Test de stabilité Charge variable selon les conditions Le système reste-t-il fiable lorsque les conditions changent ?
Tests de volume Utilisateurs normaux, volume de données très important Est-ce que le système peut gérer la croissance de la base de données ?

Les tests d'endurance et les tests d'immersion sont souvent considérés comme synonymes. En pratique, on les appelle tests d'endurance : les deux consistent à supporter une charge soutenue pendant une longue période. Lorsque les équipes font la distinction, les tests d'endurance se concentrent sur l'évolution des temps de réponse, tandis que les tests de charge se concentrent sur la consommation de ressources telles que la mémoire, les descripteurs de fichiers et les pools de connexions. L'exécution d'un seul de ces tests permet généralement d'obtenir des résultats pour les deux.

Tests de temps de réponse : principaux enseignements

  • Le temps de réponse est le temps nécessaire à un nœud du système pour répondre à la requête d'un autre.
  • Le temps de réponse moyen en Test de performance est le temps moyen pris pour chaque demande d'aller-retour.
  • Le temps de réponse maximal permet d'identifier les composants potentiellement problématiques.
  • Le taux d'erreur est un calcul mathématique qui affiche le pourcentage de demandes problématiques.
  • Trois valeurs de temps de réponse cruciales sont : 0.1 seconde, 1.0 seconde et 10 secondes.
  • Deux des outils de test de temps de réponse les plus utilisés sont JMeter et LoadRunner.

FAQ

La latence correspond au temps de trajet d'une requête sur le réseau. Le temps de réponse inclut la latence ainsi que le traitement et le rendu effectués par le serveur. Un réseau rapide peut néanmoins afficher des temps de réponse médiocres si le serveur est lent.

Une moyenne masque les valeurs aberrantes. Un système dont le temps de réponse moyen est de 800 ms et dont le 95e centile est de 9 secondes ne répond pas aux besoins d'un utilisateur sur vingt, et seul le centile le révèle.

Visez moins d'une seconde pour les actions interactives et moins de deux secondes pour le chargement complet de la page. Au-delà de trois secondes, le taux d'abandon augmente fortement, indépendamment de ce que suggère la limite théorique de dix secondes.

La surveillance basée sur l'IA établit une base de référence normale pour chaque point de terminaison et signale automatiquement les écarts, remplaçant ainsi les seuils fixes qui génèrent du bruit lors des pics de trafic prévus.

Oui. Les modèles entraînés sur des tests de performance historiques peuvent identifier les modifications de code susceptibles de ralentir un point de terminaison. Confirmez chaque prédiction par un test de performance réel.

Résumez cet article avec :