Bare Metal Overview


Die meisten Benchmark-Tracking-Tools erlauben es Ihnen nur, Benchmarks in einer einzigen Umgebung auszuführen. Entweder führen Sie Ihre Benchmarks lokal aus oder Sie führen sie in CI aus. Selbst wenn sie sowohl lokale als auch CI-Ausführung unterstützen, können Sie die Ergebnisse zwischen den beiden nicht vergleichen.

Bencher Bare Metal bietet Ihnen das Beste aus beiden Welten. Sie können Benchmarks von Ihrem lokalen Rechner aus starten und sie auf dedizierter Hardware ausführen lassen, und Sie können auch Benchmarks aus CI starten und sie auf der exakt gleichen dedizierten Hardware ausführen lassen. So erhalten Sie eine konsistente Benchmark-Ausführungsumgebung, unabhängig davon, wo Sie Ihre Benchmarks starten.

Bencher Bare Metal läuft auf Bare-Metal-Hardware, um Variabilität zu eliminieren und genauere sowie zuverlässigere Benchmark-Ergebnisse zu liefern.

Runner

Ein Runner ist ein entfernter Benchmark-Executor, der auf dedizierter Bare-Metal-Hardware läuft. Der Runner fragt den Bencher API-Server nach ausstehenden Jobs ab, basierend auf seinen zugeordneten Specs. Sobald ein Job beansprucht wird, lädt der Runner das angegebene Image für den Job herunter, entpackt das Image, führt den Benchmark-Befehl aus und sendet die Ergebnisse an den Bencher API-Server zurück. Es wird immer nur ein Job gleichzeitig ausgeführt, um sicherzustellen, dass die Benchmarks nicht von anderen Workloads beeinflusst werden.

RunnerPlattformBereichVerwaltet vonSandboxNetzwerkzugriffTarif
SharedBencher CloudServerBencherErforderlichNeinFree, Team, Enterprise
DedicatedBencher CloudOrganisationBencherOptionalNeinEnterprise
CustomBencher CloudOrganisationBenutzerOptionalOptionalEnterprise
Self-Hosted ServerBencher Self-HostedServerBenutzerOptionalOptionalFree, Team, Enterprise
Self-Hosted OrganisationBencher Self-HostedOrganisationBenutzerOptionalOptionalEnterprise

Spec

Eine Spec ist eine Hardware-Spezifikation, die die einem Runner zur Verfügung stehenden Ressourcen beschreibt:

  1. Betriebssystem (OS)
    1. Linux
    2. macOS
    3. Windows
  2. CPU-Architektur
    1. x86_64
    2. ARM64
  3. Sandbox
    1. Firecracker microVM
    2. Keine Sandbox
  4. CPU-Anzahl
  5. Speichergröße (RAM)
  6. Festplattengröße
  7. Netzwerkzugriff

Specs sind entweder server- oder organisationsbezogen, sodass dieselbe Spec auf demselben Server über mehrere Testumgebungen hinweg bzw. innerhalb derselben Organisation geteilt werden kann.

Die Rangfolge für die Auswahl der Spec bei Verwendung von bencher run ist wie folgt:

  1. Die --spec-Option
  2. Die der Testumgebung zugewiesene Spec
  3. Die standardmäßige organisationsbezogene Spec
  4. Die standardmäßige serverbezogene Spec

Die ausgewählte Spec wird dann der aktuellen Testumgebung zugewiesen.

Sandbox

Eine Sandbox ist ein Isolationsmechanismus, der sicheres Multi-Tenancy auf einem Runner ermöglicht. Bencher Bare Metal verwendet Firecracker microVMs als Standard-Sandbox-Implementierung. Der Betrieb ohne Sandbox erfordert einen Dedicated oder Custom Runner auf Bencher Cloud (kontaktieren Sie den Bencher Plus Support für weitere Informationen) oder Bencher Self-Hosted. Wenn ein Runner für die Verwendung einer Sandbox konfiguriert ist, wird jeder Job innerhalb dieser Sandbox ausgeführt. Siehe die runner-Dokumentation für eine vollständige Übersicht.

Job

Ein Job verfolgt den Lebenszyklus einer entfernten Benchmark-Ausführungsanfrage. Ein benutzerdefiniertes Timeout kann pro Job mit der --job-timeout-Option angefordert werden. Allerdings werden die folgenden Job-Timeouts immer mit den angegebenen Parallelitätslimits durchgesetzt:

TarifJob-TimeoutJob-Parallelität
Unclaimed1 Minute1 pro Quell-IP
Free5 Minuten1 pro Organisation
TeamUnbegrenzt (Standard: 60 Minuten)Unbegrenzt
EnterpriseUnbegrenzt (Standard: 60 Minuten)Unbegrenzt

Siehe die Job-Dokumentation für eine vollständige Übersicht.

Image

Ein Image ist ein OCI-Container-Image, das Ihren Benchmark-Code und seine Abhängigkeiten enthält. Wenn ein Runner einen Job ausführt, lädt er das Image herunter, entpackt das Image und führt den im Job angegebenen Benchmark-Befehl aus. Siehe die Image-Dokumentation für Informationen zur Erstellung eines Images für Ihr eigenes Projekt.

Arbeitsablauf auf dedizierter Hardware

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

Weiter: bencher run CLI-Unterbefehl ➡

🤖 Dieses Dokument wurde automatisch von KI übersetzt. Es ist möglicherweise nicht korrekt und kann Fehler enthalten. Wenn Sie Fehler finden, öffnen Sie bitte ein Problem auf GitHub.


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