Bare Metal Overview


La plupart des outils de suivi de benchmarks ne vous permettent d’exĂ©cuter des benchmarks qu’à partir d’un seul environnement. Soit vous exĂ©cutez vos benchmarks localement, soit vous les exĂ©cutez en CI. MĂȘme s’ils prennent en charge Ă  la fois l’exĂ©cution locale et en CI, vous ne pouvez pas comparer les rĂ©sultats entre les deux.

Bencher Bare Metal vous permet d’avoir le meilleur des deux mondes. Vous pouvez exĂ©cuter des benchmarks depuis votre machine locale et les faire exĂ©cuter sur du matĂ©riel dĂ©diĂ©, et vous pouvez Ă©galement exĂ©cuter des benchmarks depuis la CI et les faire exĂ©cuter sur le mĂȘme matĂ©riel dĂ©diĂ©. Cela vous permet d’avoir un environnement d’exĂ©cution de benchmarks cohĂ©rent, quel que soit l’endroit oĂč vous exĂ©cutez vos benchmarks.

Bencher Bare Metal fonctionne sur du matériel bare metal pour éliminer la variabilité et fournir des résultats de benchmarks plus précis et fiables.

Runner

Un Runner est un exĂ©cuteur de benchmarks distant qui fonctionne sur du matĂ©riel dĂ©diĂ©, bare metal. Le Runner interroge le serveur API de Bencher pour les Jobs en attente en fonction de ses Specs associĂ©es. Une fois qu’un Job est rĂ©clamĂ©, le Runner rĂ©cupĂšre l’Image spĂ©cifiĂ©e pour le Job, dĂ©compresse l’Image, exĂ©cute la commande de benchmark et renvoie les rĂ©sultats au serveur API de Bencher. Un seul Job est exĂ©cutĂ© Ă  la fois pour garantir que les benchmarks ne sont pas affectĂ©s par d’autres charges de travail.

RunnerPlateformePortéeGéré parSandboxAccÚs réseauNiveau
SharedBencher CloudServeurBencherRequisNonFree, Team, Enterprise
DedicatedBencher CloudOrganisationBencherOptionnelNonEnterprise
CustomBencher CloudOrganisationUtilisateurOptionnelOptionnelEnterprise
Self-Hosted ServerBencher Self-HostedServeurUtilisateurOptionnelOptionnelFree, Team, Enterprise
Self-Hosted OrganizationBencher Self-HostedOrganisationUtilisateurOptionnelOptionnelEnterprise

Spec

Une Spec est une spécification matérielle qui décrit les ressources disponibles pour un Runner :

  1. Systùme d’exploitation (OS)
    1. Linux
    2. macOS
    3. Windows
  2. Architecture CPU
    1. x86_64
    2. ARM64
  3. Sandbox
    1. Firecracker microVM
    2. Pas de Sandbox
  4. Nombre de CPU
  5. Taille de la mémoire (RAM)
  6. Taille du disque
  7. AccÚs réseau

Les Specs ont une portĂ©e serveur ou organisation, de sorte que la mĂȘme Spec peut ĂȘtre partagĂ©e entre plusieurs Testbeds sur le mĂȘme serveur ou au sein de la mĂȘme organisation respectivement.

L’ordre de prioritĂ© pour la sĂ©lection de la Spec lors de l’utilisation de bencher run est le suivant :

  1. L’option --spec
  2. La Spec assignée au Testbed
  3. La Spec par dĂ©faut au niveau de l’organisation
  4. La Spec par défaut au niveau du serveur

La Spec sélectionnée sera alors assignée au Testbed courant.

Sandbox

Un Sandbox est un mĂ©canisme d’isolation qui permet une multi-location sĂ©curisĂ©e sur un Runner. Bencher Bare Metal utilise les microVMs Firecracker comme implĂ©mentation de Sandbox par dĂ©faut. L’exĂ©cution sans Sandbox nĂ©cessite un Runner Dedicated ou Custom sur Bencher Cloud (contactez le support Bencher Plus pour plus d’informations) ou Bencher Self-Hosted. Lorsqu’un Runner est configurĂ© pour utiliser un Sandbox, chaque Job est exĂ©cutĂ© au sein de ce Sandbox. Consultez la documentation du runner pour un aperçu complet.

Job

Un Job suit le cycle de vie d’une demande d’exĂ©cution de benchmark Ă  distance. Un dĂ©lai d’expiration personnalisĂ© peut ĂȘtre demandĂ© par Job avec l’option --job-timeout. Cependant, les dĂ©lais d’expiration de Job suivants sont toujours appliquĂ©s avec les limites de concurrence fournies :

NiveauDĂ©lai d’expiration du JobConcurrence des Jobs
Unclaimed1 minute1 par IP source
Free5 minutes1 par Organisation
TeamIllimité (par défaut : 60 minutes)Illimitée
EnterpriseIllimité (par défaut : 60 minutes)Illimitée

Consultez la documentation du Job pour un aperçu complet.

Image

Une Image est une image de conteneur OCI qui contient votre code de benchmark et ses dĂ©pendances. Lorsqu’un Runner exĂ©cute un Job, il rĂ©cupĂšre l’Image, dĂ©compresse l’Image et exĂ©cute la commande de benchmark spĂ©cifiĂ©e dans le Job. Consultez la documentation de l’Image pour savoir comment crĂ©er une Image pour votre propre projet.

Flux de travail sur matériel dédié

Bare Metal RunnerAPI ServerOCI RegistryBare Metal RunnerAPI ServerOCI RegistryUserdocker build --tag image:tagdocker push image:tagbencher run --image image:tagCreate pending JobCreate Report linked to JobPoll for Jobs matching SpecsAssign JobPull ImageImage layersUnpack ImageRun benchmark commandSubmit benchmark resultsParse via benchmark harness adapterAttach results to ReportPoll for Job completionCompleted ReportUser

Continuer : Sous-commande CLI bencher run ➡

đŸ€– 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