Docker Самостоятельное Развертывание


Что такое Bencher?

Bencher - это набор инструментов для непрерывного тестирования производительности. Вы когда-нибудь сталкивались с регрессией производительности, которая повлияла на ваших пользователей? Bencher мог бы предотвратить это. Bencher позволяет обнаруживать и предотвращать регрессию производительности до того, как она попадёт в продакшен.

  • Запуск: Запускайте ваши тесты локально или в CI, используя ваши любимые инструменты для тестирования производительности. CLI bencher просто оборачивает ваш существующий тестовый стенд и сохраняет его результаты.
  • Отслеживание: Отслеживайте результаты ваших тестов со временем. Наблюдайте, делайте запросы и создавайте графики результатов с использованием веб-консоли Bencher на основе исходной ветки, тестового стенда и типа метрики.
  • Предотвращение: Предотвращайте регрессию производительности в CI. Bencher использует передовую, настраиваемую аналитику для обнаружения регрессии производительности до того, как она попадёт в продакшен.

По тем же причинам, по которым в CI запускаются модульные тесты для предотвращения регрессии функциональности, тесты производительности также следует запускать в CI с Bencher для предотвращения регрессии производительности. Производительность - это важно!

Bencher - это открытое и самостоятельно развертываемое программное обеспечение. Если вы заинтересованы в использовании Bencher Cloud, ознакомьтесь с руководством по быстрому старту для Bencher Cloud. В этом руководстве мы будем использовать Docker для самостоятельного развертывания Bencher.


Клонирование Репозитория

Для работы с этим руководством вам нужно установить git. Проверьте, установлен ли у вас git.

Запустите: git --version

Вы должны увидеть что-то вроде:

$ git --version
git version 2.37.3

Это нормально, если ваш номер версии отличается. Важно, чтобы этот команд работала. Если нет, следуйте инструкциям по установке git.


Установив git, мы теперь можем склонировать репозиторий Bencher.

Запустите: git clone --branch v0.3.18 https://github.com/bencherdev/bencher.git

Вы должны увидеть что-то вроде:

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

Запуск Серверов UI & API Bencher

Для запуска серверов UI и API в этом руководстве вам нужно установить docker. Проверьте, установлен ли у вас docker.

Запустите: docker --version

Вы должны увидеть что-то вроде:

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

Это нормально, если ваш номер версии отличается. Важно, чтобы этот команд работала. Если нет, следуйте инструкциям по установке docker.


Установив docker, мы можем теперь запустить серверы UI и API.

Запустите: docker compose up -d

Вы должны увидеть что-то вроде:

$ 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

Проверьте, работают ли оба docker контейнера.

Запустите: docker ps

Вы должны увидеть что-то вроде:

$ 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

Журналы Сервера API Bencher

Давайте посмотрим на журналы сервера API Bencher.

Запустите: docker compose logs bencher_api

Поскольку мы еще не настроили email/SMTP на сервере API, коды подтверждения, которые вы получите позже в руководстве, будут в логах сервера.


Установка Хоста Bencher

Хост CLI по умолчанию для bencher - это Bencher Cloud (то есть https://api.bencher.dev). Поэтому вам потребуется установить ваше имя хоста. Самым простым способом сделать это является использование переменной окружения BENCHER_HOST.

Запустите: export BENCHER_HOST=http://localhost:61016

Если вы затем запустите: echo $BENCHER_HOST

Вы должны увидеть:

$ echo $BENCHER_HOST
http://localhost:61016


🐰 Поздравляем! Вы настроили Bencher для самостоятельного развертывания! 🎉 Теперь вы можете продолжить обучение с руководством по быстрому старту, используя Bencher с самостоятельным развертыванием.


Продолжайте: Быстрый Старт ➡

🤖 Этот документ был автоматически создан OpenAI GPT-4. Оно может быть неточным и содержать ошибки. Если вы обнаружите какие-либо ошибки, откройте проблему на GitHub.