Bare Metal Overview


La mayoría de las herramientas de seguimiento de benchmarks solo te permiten ejecutar benchmarks desde un único entorno. O ejecutas tus benchmarks localmente o los ejecutas en CI. Incluso si admiten tanto la ejecución local como en CI, no puedes comparar los resultados entre ambos.

Bencher Bare Metal te permite tener lo mejor de ambos mundos. Puedes ejecutar benchmarks desde tu máquina local y que se ejecuten en hardware dedicado, y también puedes ejecutar benchmarks desde CI y que se ejecuten en el exacto mismo hardware dedicado. Esto te permite tener un entorno de ejecución de benchmarks consistente sin importar desde dónde los ejecutes.

Bencher Bare Metal se ejecuta en hardware bare metal para eliminar la variabilidad y proporcionar resultados de benchmarks más precisos y confiables.

Runner

Un Runner es un ejecutor remoto de benchmarks que se ejecuta en hardware dedicado, bare metal. El Runner consulta al servidor de la API de Bencher en busca de Jobs pendientes según sus Specs asociados. Una vez que se reclama un Job, el Runner descarga la Image especificada para el Job, desempaqueta la Image, ejecuta el comando de benchmark y envía los resultados de vuelta al servidor de la API de Bencher. Solo se ejecuta un Job a la vez para asegurar que los benchmarks no se vean afectados por otras cargas de trabajo.

RunnerPlataformaAlcanceGestionado porSandboxAcceso a redNivel
CompartidoBencher CloudServidorBencherRequeridoNoFree, Team, Enterprise
DedicadoBencher CloudOrganizaciónBencherOpcionalNoEnterprise
PersonalizadoBencher CloudOrganizaciónUsuarioOpcionalOpcionalEnterprise
Self-Hosted ServidorBencher Self-HostedServidorUsuarioOpcionalOpcionalFree, Team, Enterprise
Self-Hosted OrganizaciónBencher Self-HostedOrganizaciónUsuarioOpcionalOpcionalEnterprise

Spec

Un Spec es una especificación de hardware que describe los recursos disponibles para un Runner:

  1. Sistema Operativo (SO)
    1. Linux
    2. macOS
    3. Windows
  2. Arquitectura de CPU
    1. x86_64
    2. ARM64
  3. Sandbox
    1. Firecracker microVM
    2. Sin Sandbox
  4. Cantidad de CPUs
  5. Tamaño de memoria (RAM)
  6. Tamaño de disco
  7. Acceso a red

Los Specs tienen alcance de servidor o de organización, por lo que el mismo Spec puede compartirse entre múltiples Testbeds en el mismo servidor o dentro de la misma organización respectivamente.

El orden de precedencia para seleccionar el Spec al usar bencher run es el siguiente:

  1. La opción --spec
  2. El Spec asignado al Testbed
  3. El Spec predeterminado con alcance de organización
  4. El Spec predeterminado con alcance de servidor

El Spec seleccionado se asignará entonces al Testbed actual.

Sandbox

Un Sandbox es un mecanismo de aislamiento que permite la multi-tenencia segura en un Runner. Bencher Bare Metal utiliza microVMs de Firecracker como la implementación predeterminada de Sandbox. Ejecutar sin un Sandbox requiere un Runner Dedicado o Personalizado en Bencher Cloud (contacta al soporte de Bencher Plus para más información) o Bencher Self-Hosted. Cuando un Runner está configurado para usar un Sandbox, cada Job se ejecuta dentro de ese Sandbox. Consulta la documentación del runner para una descripción completa.

Job

Un Job rastrea el ciclo de vida de una solicitud de ejecución remota de benchmark. Se puede solicitar un tiempo de espera personalizado por Job con la opción --job-timeout. Sin embargo, los siguientes tiempos de espera de Job siempre se aplican con los límites de concurrencia proporcionados:

NivelTiempo de espera del JobConcurrencia de Jobs
Sin reclamar1 minuto1 por IP de origen
Free5 minutos1 por Organización
TeamIlimitado (predeterminado: 60 minutos)Ilimitada
EnterpriseIlimitado (predeterminado: 60 minutos)Ilimitada

Consulta la documentación del Job para una descripción completa.

Image

Una Image es una imagen de contenedor OCI que contiene tu código de benchmark y sus dependencias. Cuando un Runner ejecuta un Job, descarga la Image, desempaqueta la Image y ejecuta el comando de benchmark especificado en el Job. Consulta la documentación de Image para saber cómo crear una Image para tu propio proyecto.

Flujo de trabajo en hardware dedicado

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

Continuar: Subcomando CLI bencher run

🤖 Este documento fue traducido automáticamente por IA. Puede que no sea exacto y contenga errores. Si encuentra algún error, abra un problema en GitHub.


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