Le WordPress d'aujourd'hui, décodé pour les développeurs

Tests

Définir des seuils de performance avant un test de charge, pas après coup

Sans objectif fixé au préalable, un test de charge produit un graphique impressionnant mais aucune décision claire. La méthode pour fixer latence et taux d'erreur avant le premier scénario.

Par WordPress Développement • 19 juillet 2022 • 4 min de lecture • Aucun commentaire
Définir des seuils de performance avant un test de charge, pas après coup

200 utilisateurs simultanés, une latence moyenne de 340 millisecondes, un taux d’erreur de 0,4 % : ces chiffres, une fois le test de charge terminé, ne disent absolument rien à eux seuls. Sont-ils bons ? Mauvais ? Sans seuil défini avant le lancement du scénario, la question reste sans réponse possible, quelle que soit la précision de l’outil utilisé.

Ce billet propose une méthode pour fixer ces seuils avant d’écrire le premier scénario de charge, sans s’attacher à un outil de test de charge en particulier, chacun offrant sa propre façon de les configurer techniquement.

Partir du besoin métier, pas d’un chiffre trouvé en ligne

Un seuil de latence copié depuis un article générique n’a de sens que s’il correspond à une réalité propre au projet concerné. La question à poser d’abord : à partir de quel temps de réponse un visiteur abandonne-t-il réellement une action sur ce site précis, et quelle proportion d’échecs de commande est tolérable sur une période de forte affluence ?

Arborescence de la démarche de définition des seuils

1. Identifier le parcours critique
   └── Exemple : ajout au panier puis validation de commande
2. Fixer un seuil de latence par palier de charge
   ├── Charge nominale (50 utilisateurs) : p95 < 400 ms
   ├── Charge de pointe (200 utilisateurs) : p95 < 800 ms
   └── Charge de rupture (500 utilisateurs) : dégradation contrôlée acceptée
3. Fixer un taux d'erreur maximal toléré
   └── Exemple : moins de 1 % d'erreurs 5xx à charge de pointe

Distinguer plusieurs paliers plutôt qu’un seuil unique

Un seul seuil de latence, appliqué à toutes les charges, mène presque toujours à un résultat trompeur : soit trop permissif à charge nominale, soit inatteignable à charge de rupture. Trois paliers distincts couvrent la plupart des besoins réels d’un site de commerce ou de contenu.

L'essentiel à retenir : Un seuil se fixe à partir d'un besoin métier réel, pas d'un chiffre arbitraire ; Latence et taux d'erreur doivent être définis séparément, à des paliers de charge différents ; Un test de charge sans seuil préalable ne peut produire ni échec ni réussite
  • Charge nominale : le trafic habituel, un jour ordinaire. Le seuil ici doit être strict, puisque c’est la situation la plus fréquente vécue par les visiteurs réels.
  • Charge de pointe : un pic prévisible, promotion, campagne d’emailing, ouverture d’inscriptions. Le seuil peut être légèrement plus permissif, tant que le parcours critique reste fonctionnel.
  • Charge de rupture : le point où le système doit dégrader proprement plutôt que de s’effondrer, par exemple en affichant une file d’attente plutôt qu’une erreur brute.

Le percentile compte plus que la moyenne

Une latence moyenne masque facilement une réalité inconfortable : une moyenne de 400 millisecondes peut cacher une majorité de requêtes à 200 millisecondes et une minorité à plus de deux secondes. Le seuil doit systématiquement porter sur un percentile élevé, le plus souvent le 95e (noté p95), pour refléter l’expérience des visiteurs les plus mal servis, pas seulement celle du cas moyen.

MétriqueCe qu’elle cacheCe qu’elle révèle
MoyenneLes cas extrêmes lentsUne tendance générale seulement
p95Peu de chosesL’expérience des 5 % de requêtes les plus lentes
Taux d’erreurLa cause de l’erreurLa fréquence du problème observé

Documenter les seuils avant d’écrire le scénario

Une fois les paliers et les métriques choisis, il devient possible d’écrire un scénario de test de charge qui a un critère de réussite clair, plutôt qu’un simple graphique à interpréter après coup. Ce document de seuils, court, doit être validé par une personne côté métier, pas uniquement par l’équipe technique, puisqu’il traduit une tolérance business, pas une contrainte purement informatique.

Un test de charge sans seuil préalable ne peut jamais échouer ni réussir : il ne produit qu’un graphique, dont l’interprétation devient arbitraire une fois le test terminé.

Réviser les seuils après chaque campagne réelle

Les seuils fixés avant le premier test de charge ne sont pas gravés dans le marbre. Après chaque campagne de forte affluence réelle, comparer le comportement observé en production aux seuils définis permet de les affiner, souvent à la baisse une fois la marge réelle du système mieux connue.

En résumé

Fixer des seuils de latence par percentile et de taux d’erreur, pour plusieurs paliers de charge distincts, avant d’écrire le premier scénario de test, transforme un test de charge en outil de décision plutôt qu’en simple production de graphiques. Cette préparation, courte à rédiger, évite le débat stérile qui suit souvent un test de charge sans critère de réussite préalable.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Partager :

À propos de l'auteur

WordPress Développement

Développeur WordPress, passionné par Elementor, le FSE et l’automatisation par IA.

Voir tous ses articles

Dans la même veine

À lire aussi