bencher runでのテストベッド & Specs
テストベッドとは、レポートを実行する際に使用されるテスト環境の名称です。
bencher run CLIサブコマンドを使用する場合、
--testbed オプションまたは BENCHER_TESTBED 環境変数でテストベッドを選択します。
どちらも指定されていない場合、ホストオペレーティングシステムに基づいて Linux、macOS、または Windows がデフォルトとして使用されます。
bencher CLI が異なるオペレーティングシステム用にコンパイルされている場合は、localhost が使用されます。
テストベッドがベアメタルベンチマーキングに使用される際には、Specが割り当てられます。
ベアメタルベンチマーキング中に --testbed オプションも BENCHER_TESTBED 環境変数も設定されていない場合、Specの名前が使用されます。
レポートが作成されると、その時点でのテストベッドの現在のSpecがレポートに記録されます。
閾値には同じテストベッドとSpecの結果のみが使用されます。
これにより、テストベッドのSpecが時間の経過とともに変更されても、
ベンチマーク結果が基盤となるハードウェアとどのように関連しているかを追跡できます。
--spec オプションを使用してテストベッドのSpecを設定または更新し、
--spec-reset フラグを使用してクリアします。
--testbed <TESTBED>
--testbed オプションまたは BENCHER_TESTBED 環境変数のいずれかを、テストベッドの名前、スラグ、またはUUIDに設定できます。
指定された値が名前またはスラグであり、テストベッドがまだ存在しない場合は、自動的に作成されます。
ただし、指定された値がUUIDの場合は、テストベッドが既に存在している必要があります。
両方が指定されている場合は、--testbed オプションが BENCHER_TESTBED 環境変数より優先されます。
どちらも指定されていない場合は、ホストのオペレーティングシステムに基づいて Linux、macOS、または Windows が使用されます。
bencher CLIが異なるオペレーティングシステム用にコンパイルされている場合、デフォルトのテストベッドとして localhost が使用されます。
--spec <SPEC>
Specのスラグまたは UUID を指定します。 Specは、Runnerが利用できるリソースを記述するハードウェア仕様です:
- オペレーティングシステム (OS)
- Linux
- macOS
- Windows
- CPUアーキテクチャ
- x86_64
- ARM64
- Sandbox
- Firecracker microVM
- Sandboxなし
- CPU数
- メモリサイズ (RAM)
- ディスクサイズ
- ネットワークアクセス
現在、Bencher Cloud では以下の Spec が利用可能です:
| 名前 | スラグ | OS | アーキテクチャ | Sandbox | CPU | メモリ | ディスク | ネットワーク |
|---|---|---|---|---|---|---|---|---|
| Intel v1 | intel-v1 | Linux | x86_64 | Firecracker microVM | 4 | 48.0 GiB | 128.0 GiB | なし |
Specはサーバースコープまたは組織スコープのいずれかであり、 同じSpecを同じサーバー上の複数のテストベッドまたは同じ組織内で共有できます。
bencher runを使用する際のSpec選択の優先順位は次のとおりです:
--specオプション- テストベッドに割り当てられたSpec
- デフォルトの組織スコープのSpec
- デフォルトのサーバースコープのSpec
選択されたSpecは現在のテストベッドに割り当てられます。
このオプションには --image オプションの設定が必要です。
--spec-reset
TestbedのSpecをリセットし、ハードウェア仕様を削除します。
実行が送信されると、Testbedに関連付けられたspecがクリアされます。
--testbed オプションが必要です。
--image オプションと競合します。
🐰 おめでとうございます!テストベッド & Specsに関するすべてを学びました!🎉