Docker Autoalojado


¿Qué es Bencher?

Bencher es un conjunto de herramientas de benchmarking continuo. ¿Alguna vez has tenido un impacto en el rendimiento que afecta a tus usuarios? Bencher podría haber evitado que eso sucediera. Bencher te permite detectar y prevenir regresiones de rendimiento antes de que lleguen a producción.

  • Ejecución: Ejecuta tus benchmarks localmente o en CI utilizando tus herramientas de benchmarking favoritas. La CLI bencher simplemente envuelve tu software de benchmarks existente y almacena sus resultados.
  • Seguimiento: Sigue los resultados de tus benchmarks a lo largo del tiempo. Supervisa, consulta y grafica los resultados utilizando la consola web de Bencher basada en la rama de origen, el banco de pruebas y el tipo de métrica.
  • Detección: Detecta regresiones de rendimiento en el CI. Bencher utiliza análisis personalizables de vanguardia para detectar regresiones de rendimiento antes de que lleguen a producción.

Por las mismas razones que las pruebas unitarias se ejecutan en CI para prevenir regresiones de características, los benchmarks también deberían ejecutarse en CI con Bencher para prevenir regresiones de rendimiento. ¡Los bugs de rendimiento son bugs!

Bencher es de código abierto y auto-alojable. Si estás interesado en usar Bencher Cloud, consulta el tutorial de inicio rápido de Bencher Cloud. Para este tutorial, vamos a usar Bencher Autoalojado con Docker.


Clonar el Repositorio

Para seguir este tutorial necesitarás tener git instalado. Comprueba si tienes git instalado.

Ejecuta: git --version

Deberías ver algo como esto:

$ git --version
git version 2.37.3

Está bien si tu número de versión es diferente. Lo importante es que este comando funcione. Si no es así, sigue las instrucciones para instalar git.


Con git instalado, ahora podemos clonar el repositorio de Bencher.

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

Deberías ver algo como esto:

$ 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.

Ejecutar los Servidores de Interfaz de Usuario y API de Bencher

Para ejecutar los servidores UI y API en este tutorial necesitarás tener docker instalado. Verifica si tienes docker instalado.

Ejecuta: docker --version

Deberías ver algo como esto:

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

Está bien si tu número de versión es diferente. Lo importante es que este comando funcione. Si no es así, sigue las instrucciones para instalar docker.


Con docker instalado, ahora podemos ejecutar los servidores de interfaz de usuario y API.

Ejecuta: docker compose up -d

Deberías ver algo como esto:

$ 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

De nuevo, está bien si tu salida es diferente. Lo importante es que este comando funcione.


A continuación, comprueba que ambos contenedores docker están ejecutándose.

Ejecuta: docker ps

Deberías ver algo como esto:

$ 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á bien si tu salida es diferente. Lo importante es que este comando funcione.


Registros del Servidor API de Bencher

Echemos un vistazo a los registros del servidor API de Bencher.

Ejecuta: docker compose logs bencher_api

Como aún no hemos configurado el email/SMTP en el servidor API, los códigos de confirmación que recibirás más adelante en el tutorial estarán en los registros del servidor.


Establecer el Host de Bencher

El host predeterminado de la CLI bencher es Bencher Cloud (es decir, https://api.bencher.dev). Por lo tanto, necesitas establecer tu nombre de host. La forma más sencilla de hacer esto es con la variable de entorno BENCHER_HOST.

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

Si luego ejecutas: echo $BENCHER_HOST

Deberías ver:

$ echo $BENCHER_HOST
http://localhost:61016


🐰 ¡Felicidades! ¡Has configurado Bencher Autoalojado! 🎉 Ahora puedes continuar con el tutorial de inicio rápido usando Bencher Autoalojado.


Continuar: Inicio Rápido ➡

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