Vue d'ensemble du Benchmarking
La plupart des résultats de benchmark sont éphémères. Ils disparaissent dès que votre terminal atteint sa limite de défilement. Certains cadres de benchmark vous permettent de mettre en cache les résultats, mais la plupart ne le font que localement. Bencher vous permet de suivre vos benchmarks à la fois depuis les exécutions locales et CI, et de les comparer aux résultats historiques.
La façon la plus simple de suivre vos benchmarks est la sous-commande CLI bencher run
.
Elle enveloppe la sortie de votre cadre de benchmark existant et génère un Rapport.
Ce Rapport est ensuite envoyé au serveur API de Bencher,
où la sortie du cadre de benchmark est analysée à l’aide d’un adaptateur de cadre de benchmark.
L’adaptateur de cadre de benchmark détecte tous les Benchmarks présents ainsi que leurs Metrics correspondants.
Ces Benchmarks et Metrics sont ensuite enregistrés avec le Rapport.
S’il y a un Seuil défini,
alors les nouvelles Metrics sont comparées aux Metrics historiques pour chaque Benchmark présent dans le Rapport.
Si une régression est détectée, alors une Alerte sera générée.
Désormais, nous nous référerons à vos “benchmarks” comme “tests de régression des performances” pour éviter toute confusion.
Benchmark
Un Benchmark est un test de régression de performance nommé. Si le test de régression de performance est nouveau pour Bencher, alors un Benchmark est automatiquement créé. Sinon, le nom du test de régression de performance est utilisé comme identifiant unique pour le Benchmark.
Faites attention lorsque vous changez le nom de vos tests de régression de performance. Vous devrez renommer manuellement le Benchmark dans Bencher pour qu’il corresponde à ce nouveau nom. Sinon, le test de régression de performance renommé sera considéré comme un nouveau Benchmark. Cette même précaution s’applique également au déplacement de certains tests de régression de performance. Selon le harnais de benchmark, le chemin du test de régression de performance peut faire partie de son nom.
La seule exception à la mise en garde ci-dessus est l’ignorance d’un Benchmark. Consultez suppression des alertes pour un aperçu complet.
Metric
Une Metric est un résultat de test de régression de performance à un moment donné.
Jusqu’à trois valeurs peuvent être collectées pour une seule Metric : value
, lower_value
et upper_value
.
La value
est requise pour toutes les Metrics, tandis que lower_value
et upper_value
sont indépendamment optionnels.
Les valeurs collectées sont déterminées par l’adaptateur de harnais de benchmark.
Mesure
Une Mesure est l’unité de mesure pour une Métrique. Par défaut, tous les Projets commencent avec une Mesure de Latence
et de Débit
avec des unités de nanosecondes (ns)
et opérations / seconde (ops/s)
respectivement. La Mesure est déterminée par l’adaptateur de l’environnement de test.
Rapport
Un Rapport est un ensemble de Benchmarks et de leurs Métriques pour une Branche et un Banc d’essai particuliers. Les Rapports sont le plus souvent générés à l’aide de la sous-commande CLI bencher run
. Voir comment suivre les tests de régression de performance pour un aperçu complet.
Branche
Une Branche est la référence git
utilisée lors de l’exécution d’un Rapport (c’est-à-dire le nom de la branche ou le tag). Par défaut, tous les Projets commencent avec une Branche main
. Lorsque vous utilisez la sous-commande CLI bencher run
, main
est la Branche par défaut si aucune n’est fournie. Voir sélection de branche pour un aperçu complet.
Head
Le Head d’une branche est l’instance la plus récente de la branche. Il fait référence au point de départ le plus récent, s’il y en a un. Chaque fois qu’une branche obtient un nouveau point de départ, elle obtient un nouveau Head. Consultez sélection de branche pour un aperçu complet.
Point de départ
Une branche peut avoir un Point de départ.
Un Point de départ est une autre branche à une version spécifique (et un git
hash, si disponible).
Les métriques historiques et éventuellement les seuils sont copiés depuis le Point de départ.
Voir sélection de branches pour une vue d’ensemble complète.
Banc d’essai
Un banc d’essai est le nom de l’environnement de test utilisé lors de l’exécution d’un rapport.
Par défaut, tous les projets commencent avec un banc d’essai localhost
.
Lors de l’utilisation de la sous-commande CLI bencher run
,
localhost
est le banc d’essai par défaut si aucun n’est fourni.
Seuil
Un Seuil est utilisé pour détecter les régressions de performance. Un Seuil est assigné à une combinaison unique de : Branche, Banc d’essai, et Mesure. Voir seuils pour un aperçu complet.
Test
Un test est utilisé par un seuil pour détecter les régressions de performance. La combinaison d’un test et de ses paramètres est appelée un modèle. Voir seuils pour un aperçu complet.
Modèle
Un Modèle est la combinaison d’un Test et de ses paramètres pour un Seuil. Un Modèle doit avoir une Limite Inférieure, une Limite Supérieure, ou les deux.
- Limite Inférieure
- Une Limite Inférieure est utilisée lorsqu’une valeur plus petite indiquerait une régression de performance,
comme avec la Mesure de
Débit
.
- Une Limite Inférieure est utilisée lorsqu’une valeur plus petite indiquerait une régression de performance,
comme avec la Mesure de
- Limite Supérieure
- Une Limite Supérieure est utilisée lorsqu’une valeur plus grande indiquerait une régression de performance,
comme avec la Mesure de
Latence
.
- Une Limite Supérieure est utilisée lorsqu’une valeur plus grande indiquerait une régression de performance,
comme avec la Mesure de
Chaque Limite est utilisée pour calculer une Limite de Borne. Ensuite, chaque nouvelle Mesure est vérifiée par rapport à chaque Limite de Borne. Une Alerte est générée lorsqu’une nouvelle Mesure est en dessous d’une Limite de Borne Inférieure ou au-dessus d’une Limite de Borne Supérieure. Voir seuils pour un aperçu complet.
Limite de Frontière
Une Limite de Frontière est la valeur calculée à partir d’une Frontière Inférieure ou Supérieure. Elle est utilisée pour comparer avec une nouvelle Mesure. Une Alerte est générée lorsqu’une nouvelle Mesure est en dessous d’une Limite de Frontière Inférieure ou au-dessus d’une Limite de Frontière Supérieure. Consultez seuils pour une vue d’ensemble complète.
Alerte
Une alerte est générée lorsqu’une nouvelle métrique échoue à un test en étant en dessous d’une limite inférieure ou au-dessus d’une limite supérieure. Voir seuils pour un aperçu complet.
🐰 Félicitations ! Vous avez appris tout ce qu’il faut savoir sur le suivi des tests de régression de performance ! 🎉