Aperçu 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 harnais 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 localement et depuis les exécutions de CI, et de les comparer avec les résultats historiques.

La façon la plus simple de suivre vos benchmarks est la sous-commande CLI bencher run. Elle encapsule la sortie de votre harnais de benchmark existant et génère un Rapport. Ce Rapport est ensuite envoyé au serveur API de Bencher, où la sortie du harnais de benchmark est analysée à l’aide d’un adaptateur de harnais de benchmark. L’adaptateur de harnais de benchmark détecte tous les Benchmarks présents et leurs Metrics correspondants. Ces Benchmarks et Metrics sont ensuite sauvegardés avec le Rapport. S’il existe un Seuil défini, alors les nouvelles Metrics sont comparées aux Metrics historiques de chaque Benchmark présent dans le Rapport. Si une régression est détectée, alors une Alerte sera générée.

À partir de maintenant, nous ferons référence à vos “benchmarks” comme à des “tests de régression de performance” pour éviter toute confusion.

Benchmarks

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 la 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 correspondre à ce nouveau nom. Sinon, le test de régression de la performance renommé sera considéré comme un nouveau Benchmark. Ce même mot de prudence s’applique également au déplacement de certains tests de régression de performance. Selon le harnais de benchmark, le chemin vers le test de régression de la performance peut faire partie de son nom.

La seule exception à la mise en garde ci-dessus est l’ignorance d’un Benchmark. Voir supprimer les alertes pour une vue d’ensemble complète.

Metrics

Une Metric est un résultat de test de régression de performance unique et ponctuel. Jusqu’à trois Mesures 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 facultatives. Les Mesures collectées sont déterminées par l’adaptateur de harnais de benchmark.

Type de Metric

Un Type de Metric est l’unité de mesure d’une Metric. Par défaut, tous les Projets commencent avec des Types de Metric Latency et Throughput avec des unités de nanosecondes (ns) et opérations / seconde (ops/s) respectivement. Le Type de Metric est déterminé par l’adaptateur de harnais de benchmark.


Rapport

Un Rapport est une collection de Benchmarks et de leurs Metrics pour une Branche et une Plateforme de Test spécifiques. Les Rapports sont le plus souvent générés en utilisant 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 la balise). Par défaut, tous les Projets commencent avec une Branche main. Lors de l’utilisation de la sous-commande CLI bencher run, main est la Branche par défaut si aucune n’est fournie. Voir sélection de branche pour une vue d’ensemble complète.

Plateforme de Test

Une Plateforme de Test 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 une Plateforme de Test localhost. Lors de l’utilisation de la sous-commande CLI bencher run, localhost est la Plateforme de Test par défaut si aucune n’est fournie.



🐰 Félicitations ! Vous avez tout appris sur le suivi des benchmarks tests de régression de performance ! 🎉


Continuez : Sous-commande CLI bencher run

🤖 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: Fri, October 27, 2023 at 8:40:00 AM UTC | Last Updated: Wed, March 27, 2024 at 7:50:00 AM UTC