ドッカー を利用した自己ホスト環境


Bencherとは何ですか?

Bencherは継続的ベンチマーキングのツールセットです。 パフォーマンスの後退がユーザーに影響を与えたことはありますか? それなら、Bencherがそれを防ぐことができました。 Bencherはパフォーマンスの後退を、それが本番環境に到達する前に検出し防止します。

  • 実行:お気に入りのベンチマーキングツールを使用してローカルまたはCIでベンチマークを実行します。bencher CLIはあなたの既存のベンチマークハーネスを単純にラップし、その結果を保存します。
  • 追跡:時間をかけてベンチマークの結果を追跡します。ソースブランチ、テストベッド、メトリックの種類に基づいてBencherウェブコンソールを使用して結果を監視、クエリ、グラフ化します。
  • 検出:CIでパフォーマンスの後退を捕捉します。Bencherは最先端のカスタマイズ可能な分析を使用して、パフォーマンスが本番環境に到達する前にパフォーマンスの後退を検出します。

機能の後退を防ぐためにユニットテストがCIで実行されるのと同じ理由で、パフォーマンスの後退を防ぐためにベンチマークもBencherと共にCIで実行するべきです。パフォーマンスのバグもバグです!

Bencherはオープンソースで自己ホスト可能です。 もしBencher Cloudに興味がある場合は、ベンチャー クラウド クイックスタートチュートリアルをご覧ください。 しかし、このチュートリアルでは、Dockerと共にBencher Self-Hostedを使用します。


リポジトリのクローン

このチュートリアルを進めるためには、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 サーバーの実行

このチュートリアルで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 サーバーログの確認

ベンチャー API サーバーのログを確認してみましょう。

実行:docker compose logs bencher_api

これからのチュートリアルで後で確認する確認コードは、まだAPIサーバー上で電子メール/SMTPが設定されていないため、サーバーログにあります。


ベンチャー ホストの設定

bencher CLIのデフォルトのホストはBencher Cloud(すなわち https://api.bencher.dev)なので、ホスト名を設定する必要があります。これを行う最も簡単な方法は、BENCHER_HOST環境変数を使用することです。

実行:export BENCHER_HOST=http://localhost:61016

次に実行:echo $BENCHER_HOST

結果は次のように表示されます:

$ echo $BENCHER_HOST
http://localhost:61016


🐰 おめでとうございます! ベンチャー 自己ホスト型 の設定が完了しました!🎉 ベンチャー 自己ホスト型 を使用したクイックスタートチュートリアルを始めることができます。


続けてください:クイックスタート ➡

🤖 このドキュメントは OpenAI GPT-4 によって自動的に生成されました。 正確ではない可能性があり、間違いが含まれている可能性があります。 エラーを見つけた場合は、GitHub で問題を開いてください。.