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 с самостоятельным развертыванием.