Docker Auto-Hospedado


O que é o Bencher?

Bencher é um conjunto de ferramentas de benchmarking contínuo. Já lhe aconteceu uma regressão de desempenho impactar os seus usuários? O Bencher poderia ter evitado que isso acontecesse. Bencher permite detectar e prevenir regressões de desempenho antes que cheguem à produção.

  • Executar: Execute seus benchmarks localmente ou no CI usando suas ferramentas de benchmarking favoritas. O CLI bencher simplesmente encapsula o seu harness de benchmark existente e armazena os seus resultados.
  • Acompanhar: Acompanhe os resultados dos seus benchmarks ao longo do tempo. Monitorize, questione e faça o gráfico dos resultados utilizando o console web Bencher com base na branch de origem, testbed e tipo de métrica.
  • Capturar: Capture regressões de desempenho no CI. Bencher usa análises personalizáveis de última geração para detectar regressões de desempenho antes que cheguem à produção.

Pelos mesmos motivos que os testes unitários são executados no CI para prevenir regressões de funcionalidades, os benchmarks também devem ser executados no CI com Bencher para prevenir regressões de desempenho. Bugs de desempenho são bugs!

Bencher é open-source e auto-hospedável. Se estiver interessado em utilizar Bencher Cloud, confira o tutorial de início rápido do Bencher Cloud. Para este tutorial, vamos usar o Bencher auto-hospedado com Docker.


Clonar o Repositório

Para seguir este tutorial, você precisará ter git instalado. Verifique se você tem git instalado.

Execute: git --version

Você deverá ver algo como:

$ git --version
git version 2.37.3

Está tudo bem se o número da sua versão for diferente. É apenas importante que este comando funcione. Se não, siga as instruções para instalar o git.


Com o git instalado, podemos agora clonar o repositório do Bencher.

Execute: git clone --branch v0.3.18 https://github.com/bencherdev/bencher.git

Você deverá ver algo como:

$ git clone https://github.com/bencherdev/bencher.git
Cloning into 'bencher'...
remote: Enumerating objects: 24752, done.
remote: Counting objects: 100% (7363/7363), done.
remote: Compressing objects: 100% (2396/2396), done.
remote: Total 24752 (delta 4862), reused 7274 (delta 4785), pack-reused 17389
Receiving objects: 100% (24752/24752), 4.92 MiB | 12.43 MiB/s, done.
Resolving deltas: 100% (16108/16108), done.

Execute os Servidores UI & API do Bencher

Para executar os servidores UI e API neste tutorial, você precisa ter o docker instalado. Verifique se você tem o docker instalado.

Execute: docker --version

Você deverá ver algo como:

$ docker --version
Docker version 20.10.17, build 100c701

Está tudo bem se o número da sua versão for diferente. É apenas importante que este comando funcione. Se não, siga as instruções para instalar o docker.


Com o docker instalado, agora podemos executar os servidores UI e API.

Execute: docker compose up -d

Você deverá ver algo como:

$ docker compose up -d
[+] Running 16/16
 ⠿ bencher_ui Pulled                                           5.9s
 ...
 ⠿ bencher_api Pulled                                          6.3s
 ...
[+] Running 3/3
 ⠿ Network bencher_default      Started                        0.1s
 ⠿ Container bencher_ui         Started                        0.8s
 ⠿ Container bencher_api_local  Started                        0.4s

Novamente, está tudo bem se a sua saída for diferente. É apenas importante que este comando funcione.


Em seguida, verifique se ambos os containers docker estão em funcionamento.

Execute: docker ps

Você deverá ver algo como:

$ docker ps
CONTAINER ID   IMAGE                                 COMMAND                  CREATED              STATUS              PORTS                                           NAMES
1d2ed7c7481e   bencherdev/bencher-ui:latest          "/docker-entrypoint.…"   About a minute ago   Up About a minute   0.0.0.0:3000->80/tcp, :::3000->80/tcp           bencher_ui
7a8590d7021a   bencherdev/bencher-api-local:latest   "/api"                   About a minute ago   Up About a minute   0.0.0.0:61016->61016/tcp, :::61016->61016/tcp   bencher_api_local

Como antes, está tudo bem se a sua saída for diferente. É apenas importante que este comando funcione.


Logs do Servidor API Bencher

Vamos dar uma olhada nos logs do servidor API Bencher.

Execute: docker compose logs bencher_api

Porque ainda não configuramos email/SMTP no servidor API, os códigos de confirmação que você receberá mais tarde no tutorial estarão nos logs do servidor.


Definir o Host Bencher

O host padrão do CLI bencher é o Bencher Cloud (ie https://api.bencher.dev). Portanto, você precisa definir seu hostname. A maneira mais fácil de fazer isso é com a variável de ambiente BENCHER_HOST.

Execute: export BENCHER_HOST=http://localhost:61016

Se você executar: echo $BENCHER_HOST

Você deverá ver:

$ echo $BENCHER_HOST
http://localhost:61016


🐰 Parabéns! Você configurou o Bencher Auto-Hospedado! 🎉 Agora você pode continuar com o tutorial de início rápido usando Bencher Auto-Hospedado.


Continue: Início Rápido ➡

🤖 Este documento foi gerado automaticamente pelo OpenAI GPT-4. Pode não ser preciso e pode conter erros. Se você encontrar algum erro, abra um problema no GitHub.