Bencher runner CLI


runner バイナリは Bare Metal ベンチマーク Job を実行するエージェントです。 セルフホスト型 Runner をセットアップするための詳細なリファレンスです。 このバイナリは 2 つのサブコマンドを提供します。

  • runner up: Runner を起動し、ベンチマーク Job をポーリングして実行します。
  • runner run: Image をプルし、テスト用にローカルホスト上で 1 回だけ実行します。

🐰 runner バイナリは bencher runner サブコマンドとは異なります。 runner バイナリは Runner ホストを運用するのに対し、 bencher runner は REST API を通じて Runner リソースを管理します。


runner up

Runner を起動し、ベンチマーク Job をポーリングして実行します。 これは セルフホスト型 Runner を運用するために使う、長時間実行コマンドです。 Runner は API サーバーへの単一の WebSocket 接続 を開き、 自身の Spec に一致する Job を要求し、それらを実行して結果を報告します。

runner up [OPTIONS]

オプション

--host <HOST>

接続先の Bencher API サーバー。 デフォルトでは https://api.bencher.dev が使用されます。 BENCHER_HOST 環境変数でも設定できます。

--runner <RUNNER>

運用する Runner の UUID またはスラッグ。 BENCHER_RUNNER 環境変数でも設定できます。

--key <KEY>

Runner が作成された ときに返された Runner 認証キー (bencher_runner_...)。 BENCHER_RUNNER_KEY 環境変数でも設定できます。

--poll-timeout <POLL_TIMEOUT>

Job を待機する際のロングポーリングのタイムアウト (秒)。1 から 900 の範囲です。 デフォルトでは 55 が使用されます。

--danger-allow-no-sandbox

Sandbox なしでの Job の実行を許可します。 このフラグがない場合、Sandbox を持たない Spec の Job は実行時に拒否されます。 サンドボックスなしの Job はホスト上で直接実行されるため、信頼できるワークロードに対してのみ有効にしてください。 BENCHER_DANGER_ALLOW_NO_SANDBOX 環境変数でも設定できます。

--sandbox-log-level <SANDBOX_LOG_LEVEL>

サンドボックスプロセスのログレベル。 デフォルトでは warning が使用されます。

--no-auto-update

サーバーからの自動更新を無効にします。 デフォルトでは、サーバーが新しいバージョンを提供すると、Runner は Job の合間に自身を更新します。 BENCHER_NO_AUTO_UPDATE 環境変数でも設定できます。

--max-download-size <MAX_DOWNLOAD_SIZE>

自己更新バイナリの最大ダウンロードサイズ (バイト)。 デフォルトでは 500 MiB が使用されます。 --no-auto-update と競合します。

--max-output-size <MAX_OUTPUT_SIZE>

収集される stdoutstderr の最大サイズ (バイト)。 デフォルトでは 25 MiB が使用されます。

--max-file-count <MAX_FILE_COUNT>

デコードする出力ファイルの最大数。 デフォルトでは 255 が使用されます。

パス解決時にたどるシンボリックリンクの最大数。 Linux カーネルの MAXSYMLINKS 制限に一致します。 デフォルトでは 40 が使用されます。 サンドボックスなしモードでのみ使用されます。

--grace-period <GRACE_PERIOD>

ベンチマーク終了後、最終的な出力収集までの猶予期間 (秒)。

ホストチューニング

各ベンチマークの前に、runner は測定ノイズを低減するためにホストチューニングを適用します。 デフォルトでは、ASLR、NMI ウォッチドッグ、SMT / ハイパースレッディング、ターボブーストを無効にし、 CPU スケーリングガバナーを performance、swappiness を 10perf_event_paranoid-1 に設定します。 以下のフラグは、個々の最適化を無効にせず、ホストのデフォルト値のまま維持します。

--no-tuning

すべてのホストチューニング最適化を無効にします。

--aslr

ASLR を有効のまま維持します (デフォルト: ベンチマークでは無効)。

--nmi-watchdog

NMI ウォッチドッグを有効のまま維持します (デフォルト: ベンチマークでは無効)。

--smt

SMT / ハイパースレッディングを有効のまま維持します (デフォルト: ベンチマークでは無効)。

--turbo

ターボブーストを有効のまま維持します (デフォルト: ベンチマークでは無効)。

--swappiness <SWAPPINESS>

swappiness の値を設定します。 デフォルトでは 10 が使用されます。

--governor <GOVERNOR>

CPU スケーリングガバナーを設定します。 デフォルトでは performance が使用されます。

--perf-event-paranoid <PERF_EVENT_PARANOID>

perf_event_paranoid の値を設定します。 デフォルトでは -1 が使用されます。

--help

ヘルプを表示します。


runner run

Image をプルし、rootfs を作成して、ローカルホスト上で 1 回だけ実行します。 runner up とは異なり、これは API サーバーに接続したり Job を要求したりしません。 単一の Image を直接実行するもので、実際の Job を送信する前に Runner ホストや Image を テスト・デバッグするのに役立ちます。

runner run --image <IMAGE> [OPTIONS]

オプション

--image <IMAGE>

実行する OCI Image。ローカルパスまたはレジストリ参照として指定します。

--token <TOKEN>

Image をプルする際の、レジストリ認証用の JWT トークン。

--sandbox <SANDBOX>

ベンチマーク実行のサンドボックスモード。 Firecracker microVM には firecracker を使用します (Linux のみ)。 サンドボックスなしのホスト実行の場合は省略します。

--timeout <TIMEOUT>

実行タイムアウト (秒)。 デフォルトでは 300 が使用されます。

--iter <ITER>

実行するベンチマークの反復回数。 デフォルトでは 1 が使用されます。

--allow-failure

ベンチマークの失敗が発生しても、残りの反復を打ち切らずに許可します。

--entrypoint <ENTRYPOINT>

コンテナのエントリーポイントを上書きします。 複数回指定できます。

--cmd <CMD>

コンテナのコマンドを上書きします。 複数回指定できます。

--env <ENV>

環境変数を KEY=VALUE 形式で設定します。 複数回指定できます。

--network

VM 内でのネットワークアクセスを有効にします。

--output <OUTPUT>

収集するゲスト内の出力ファイルパス。 複数回指定できます。

--vcpus <VCPUS>

vCPU 数を上書きします (テスト用)。

--memory <MEMORY>

メモリ (MiB) を上書きします (テスト用)。

--disk <DISK>

ディスクサイズ (MiB) を上書きします (テスト用)。

--max-output-size <MAX_OUTPUT_SIZE>

収集される stdoutstderr の最大サイズ (バイト)。 デフォルトでは 25 MiB が使用されます。

--max-file-count <MAX_FILE_COUNT>

デコードする出力ファイルの最大数。 デフォルトでは 255 が使用されます。

パス解決時にたどるシンボリックリンクの最大数。 Linux カーネルの MAXSYMLINKS 制限に一致します。 デフォルトでは 40 が使用されます。 サンドボックスなしモードでのみ使用されるため、--sandbox と競合します。

--grace-period <GRACE_PERIOD>

ベンチマーク終了後、最終的な出力収集までの猶予期間 (秒)。 デフォルトでは 1 が使用されます。

--sandbox-log-level <SANDBOX_LOG_LEVEL>

サンドボックスプロセスのログレベル。 --sandbox が必要です。 デフォルトでは warning が使用されます。

ホストチューニング

各ベンチマークの前に、runner は測定ノイズを低減するためにホストチューニングを適用します。 デフォルトでは、ASLR、NMI ウォッチドッグ、SMT / ハイパースレッディング、ターボブーストを無効にし、 CPU スケーリングガバナーを performance、swappiness を 10perf_event_paranoid-1 に設定します。 以下のフラグは、個々の最適化を無効にせず、ホストのデフォルト値のまま維持します。

--no-tuning

すべてのホストチューニング最適化を無効にします。

--aslr

ASLR を有効のまま維持します (デフォルト: ベンチマークでは無効)。

--nmi-watchdog

NMI ウォッチドッグを有効のまま維持します (デフォルト: ベンチマークでは無効)。

--smt

SMT / ハイパースレッディングを有効のまま維持します (デフォルト: ベンチマークでは無効)。

--turbo

ターボブーストを有効のまま維持します (デフォルト: ベンチマークでは無効)。

--swappiness <SWAPPINESS>

swappiness の値を設定します。 デフォルトでは 10 が使用されます。

--governor <GOVERNOR>

CPU スケーリングガバナーを設定します。 デフォルトでは performance が使用されます。

--perf-event-paranoid <PERF_EVENT_PARANOID>

perf_event_paranoid の値を設定します。 デフォルトでは -1 が使用されます。

--help

ヘルプを表示します。



Published: Fri, June 19, 2026 at 8:00:00 AM UTC