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.

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.
  • 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.

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 ! 🎉


Continuez : bencher run Sous-commande CLI ➡

🤖 Ce document a été automatiquement généré par OpenAI GPT-4. Il peut ne pas être précis et peut contenir des erreurs. Si vous trouvez des erreurs, veuillez ouvrir une issue sur GitHub.


Published: Sat, August 12, 2023 at 4:07:00 PM UTC | Last Updated: Thu, October 10, 2024 at 7:50:00 AM UTC