Inicio Rapido Bencher Bare Metal


O que e o Bencher?

Bencher é um conjunto de ferramentas de benchmarking contínuo. Já teve algum impacto de regressão de desempenho nos seus usuários? Bencher poderia ter prevenido isso. Bencher permite que você detecte e previna regressões de desempenho antes que sejam mescladas.

  • Execute: Execute seus benchmarks localmente ou no CI usando os exatos mesmos runners bare metal e suas ferramentas de benchmarking favoritas. O CLI bencher orquestra a execução dos seus benchmarks em bare metal e armazena seus resultados.
  • Rastreie: Acompanhe os resultados de seus benchmarks ao longo do tempo. Monitore, consulte e faça gráficos dos resultados usando o console web do Bencher baseado na branch de origem, testbed e medida.
  • Capture: Capture regressões de desempenho localmente ou no CI usando o exato mesmo hardware bare metal. Bencher usa análises personalizáveis e de última geração para detectar regressões de desempenho antes que sejam mescladas.

Pelos mesmos motivos que os testes de unidade são executados para prevenir regressões de funcionalidades, benchmarks deveriam ser executados com o Bencher para prevenir regressões de desempenho. Bugs de desempenho são bugs!


Instalar o bencher CLI

Selecione seu sistema operacional e execute o comando fornecido para instalar o bencher CLI. Para mais detalhes, veja a documentação de instalação do bencher CLI.

Terminal window

Agora, vamos verificar se você tem o bencher CLI instalado. Execute:

Terminal window
bencher --version

Você deverá ver:

bencher 0.6.2

Criar um Projeto

Antes de enviar uma imagem de benchmark, voce precisa de um projeto no Bencher. A maneira mais facil de criar um e executar o subcomando CLI bencher run com o subcomando bencher mock. Execute:

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

Isso cria um novo projeto no Bencher Cloud. Observe a URL View report na saida. O slug do seu projeto e o segmento do caminho apos /perf/ na URL. Por exemplo, se a URL for:

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

entao o slug do seu projeto e my-project-abc1234. Voce precisara desse slug do projeto nos proximos passos.


Enviar sua Imagem de Benchmark

O Bencher Bare Metal executa benchmarks empacotados como imagens de container OCI em hardware dedicado. Para este inicio rapido, usaremos a imagem Docker do CLI bencher como nossa imagem de benchmark. Nenhuma imagem personalizada e necessaria.

Primeiro, baixe a imagem do CLI bencher do GitHub Container Registry. Execute:

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

Em seguida, retag a imagem para o registro OCI do Bencher. Substitua YOUR_PROJECT_SLUG pelo slug do projeto do passo anterior:

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

Depois, faca login no registro OCI do Bencher e envie a imagem:

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

Para mais detalhes sobre como criar sua propria imagem personalizada, consulte a documentacao de Imagem.


Rastrear seus Benchmarks Bare Metal

Agora voce esta pronto para rastrear seus resultados de benchmark em hardware dedicado! Para isso, voce usara o subcomando CLI bencher run para executar seus benchmarks e coletar os resultados. Substitua YOUR_PROJECT_SLUG pelo slug do projeto dos passos anteriores e execute:

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

Estamos usando o subcomando bencher noise como nosso comando de benchmark para gerar alguns dados de amostra. Ele mede quao ruidoso e o seu ambiente de benchmark. Quando usamos a opcao --format json, os resultados sao gerados no Bencher Metric Format (BMF). Se tudo funcionar como esperado, o final da saida deve se parecer com isto:

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

Agora voce pode visualizar os resultados de cada um dos seus benchmarks no navegador. Clique ou copie e cole os links de View results. Para reivindicar esses resultados, clique ou copie e cole o link Claim this project em seu navegador.



🐰 Parabens! Voce rastreou seus primeiros resultados de benchmark Bare Metal! 🎉


Continue: Como Reivindicar um Projeto ➡

🤖 Este documento foi traduzido automaticamente por IA. Pode não ser preciso e pode conter erros. Se você encontrar algum erro, abra um problema no GitHub.


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