Démarrage Rapide Bencher Bare Metal


Qu’est-ce que Bencher ?

Bencher est une suite d’outils de benchmarking continu. Avez-vous déjà eu une régression de performance qui a impacté vos utilisateurs ? Bencher aurait pu empêcher cela de se produire. Bencher vous permet de détecter et de prévenir les régressions de performance avant qu’elles ne soient fusionnées.

  • Exécuter: Exécutez vos benchmarks localement ou en CI en utilisant exactement les mêmes runners bare metal et vos outils de benchmarking préférés. La CLI bencher orchestre l’exécution de vos benchmarks sur bare metal et stocke ses résultats.
  • Suivre: Suivez les résultats de vos benchmarks au fil du temps. Surveillez, interrogez et graphiquez les résultats à l’aide de la console web Bencher en fonction de la branche source, du banc d’essai et de la mesure.
  • Détecter: Détectez les régressions de performances localement ou en CI en utilisant exactement le même matériel bare metal. Bencher utilise des analyses de pointe et personnalisables pour détecter les régressions de performances avant qu’elles ne soient fusionnées.

Pour les mêmes raisons que les tests unitaires sont exécutés pour prévenir les régressions de fonctionnalités, les benchmarks devraient être exécutés avec Bencher pour prévenir les régressions de performance. Les bugs de performance sont des bugs !


Installer le CLI bencher

Sélectionnez votre système d’exploitation et exécutez la commande fournie pour installer le CLI bencher. Pour plus de détails, consultez la documentation sur l’installation du CLI bencher.

Terminal window

Maintenant, vérifions que vous avez le CLI bencher installé. Exécutez :

Terminal window
bencher --version

Vous devriez voir :

bencher 0.6.2

Créer un Projet

Avant de pouvoir pousser une image de benchmark, vous avez besoin d’un projet Bencher. La manière la plus simple d’en créer un est d’exécuter la sous-commande CLI bencher run avec la sous-commande bencher mock. Exécutez :

Terminal window
bencher run "bencher mock --count 0"

Cela crée un nouveau projet sur Bencher Cloud. Regardez l’URL View report dans la sortie. Le slug de votre projet est le segment de chemin après /perf/ dans l’URL. Par exemple, si l’URL est :

https://bencher.dev/perf/my-project-abc1234/reports/709d3476-51a4-4939-9584-75d9a2c04c54

alors le slug de votre projet est my-project-abc1234. Vous aurez besoin de ce slug de projet dans les étapes suivantes.


Pousser votre Image de Benchmark

Bencher Bare Metal exécute des benchmarks empaquetés sous forme d’images de conteneurs OCI sur du matériel dédié. Pour ce démarrage rapide, nous utiliserons l’image Docker du CLI bencher comme image de benchmark. Aucune image personnalisée n’est nécessaire.

D’abord, récupérez l’image du CLI bencher depuis le GitHub Container Registry. Exécutez :

Terminal window
docker pull --platform linux/amd64 ghcr.io/bencherdev/bencher:latest

Ensuite, retaguez l’image pour le registre OCI de Bencher. Remplacez YOUR_PROJECT_SLUG par le slug du projet de l’étape précédente :

Terminal window
docker tag ghcr.io/bencherdev/bencher:latest registry.bencher.dev/YOUR_PROJECT_SLUG:latest

Puis, connectez-vous au registre OCI de Bencher et poussez l’image :

Terminal window
docker login registry.bencher.dev
Terminal window
docker push registry.bencher.dev/YOUR_PROJECT_SLUG:latest

Pour plus de détails sur la création de votre propre image personnalisée, consultez la documentation sur les Images.


Suivre vos Benchmarks Bare Metal

Vous êtes maintenant prêt à suivre vos résultats de benchmark sur du matériel dédié ! Pour ce faire, vous utiliserez la sous-commande CLI bencher run pour exécuter vos benchmarks et collecter les résultats. Remplacez YOUR_PROJECT_SLUG par le slug du projet des étapes précédentes et exécutez :

Terminal window
bencher run --project YOUR_PROJECT_SLUG --image YOUR_PROJECT_SLUG:latest noise --format json

Nous utilisons la sous-commande bencher noise comme commande de benchmark pour générer quelques données d’exemple. Elle mesure à quel point votre environnement de benchmark est bruyant. Lorsque nous utilisons l’option --format json, les résultats sont produits au format Bencher Metric Format (BMF). Si tout fonctionne comme prévu, la fin de la sortie devrait ressembler à ceci :

View report: https://bencher.dev/perf/project-abc4567-wxyz123456789/reports/29d61b7c-5d80-4ac2-a118-f80bc5de431b
View results:
- bencher::noise::cache_jitter (Cache Jitter): https://bencher.dev/perf/project-abc4567-wxyz123456789?branches=88d5192d-5cd1-47c6-a817-056e5968737c&heads=657a8ee9-1f30-49d4-bd9b-ceed02576d7e&testbeds=f3a5db46-a57e-4caf-b96e-f0c1111eaa67&benchmarks=6bed122a-b0d1-42e6-93c1-8736a910ec9c&measures=fdee350f-f53a-44bc-af7c-2f4c51415ea8&start_time=1741390156000&end_time=1743982156000&report=29d61b7c-5d80-4ac2-a118-f80bc5de431b
- bencher::noise::composite (Noise Score): https://bencher.dev/perf/project-abc4567-wxyz123456789?branches=88d5192d-5cd1-47c6-a817-056e5968737c&heads=657a8ee9-1f30-49d4-bd9b-ceed02576d7e&testbeds=f3a5db46-a57e-4caf-b96e-f0c1111eaa67&benchmarks=a5d0aea8-666f-4554-958a-9ad8acf1a20d&measures=995e8a26-58ee-46c4-8ce7-d0162b7d9d86&start_time=1741390156000&end_time=1743982156000&report=29d61b7c-5d80-4ac2-a118-f80bc5de431b
- bencher::noise::compute_jitter (Compute Jitter): https://bencher.dev/perf/project-abc4567-wxyz123456789?branches=88d5192d-5cd1-47c6-a817-056e5968737c&heads=657a8ee9-1f30-49d4-bd9b-ceed02576d7e&testbeds=f3a5db46-a57e-4caf-b96e-f0c1111eaa67&benchmarks=489b1d60-5dbd-43cd-bb96-ba50bcba648a&measures=8b715d47-ed42-4ac5-a380-4fe4143aa159&start_time=1741390156000&end_time=1743982156000&report=29d61b7c-5d80-4ac2-a118-f80bc5de431b
- bencher::noise::io_jitter (I/O Jitter): https://bencher.dev/perf/project-abc4567-wxyz123456789?branches=88d5192d-5cd1-47c6-a817-056e5968737c&heads=657a8ee9-1f30-49d4-bd9b-ceed02576d7e&testbeds=f3a5db46-a57e-4caf-b96e-f0c1111eaa67&benchmarks=0a3da391-2fe3-40ec-8a10-983e81231af8&measures=b34f6fd4-60ff-4866-a7a4-60396aab976a&start_time=1741390156000&end_time=1743982156000&report=29d61b7c-5d80-4ac2-a118-f80bc5de431b
Claim this project: https://bencher.dev/auth/signup?claim=d4b0cd5a-8422-40af-9872-8e18d5d062c4

Vous pouvez maintenant visualiser les résultats de chacun de vos benchmarks dans le navigateur. Cliquez ou copiez-collez les liens depuis View results. Pour revendiquer ces résultats, cliquez ou copiez-collez le lien Claim this project dans votre navigateur.



🐰 Félicitations ! Vous avez suivi vos premiers résultats de benchmark Bare Metal ! 🎉


Continuez : Comment revendiquer un projet ➡

🤖 Ce document a été automatiquement traduit par IA. Il peut ne pas être précis et peut contenir des erreurs. Si vous trouvez des erreurs, veuillez ouvrir une issue sur GitHub.


Published: Thu, March 26, 2026 at 6:00:00 AM UTC | Last Updated: Sat, April 4, 2026 at 6:00:00 AM UTC