パフォーマンスをベンチマークするには

Incus サーバーあるいはクラスタのパフォーマンスは、ハードウェア、サーバー設定、選択されたストレージドライバー、ネットワーク帯域幅から全体的な利用パターンに至るまでの多数の異なる因子によって変わります。

最適な設定を見つけるには、異なるセットアップを評価するためベンチマークテストを実行するほうが良いです。

Incus ではこの目的のためベンチマークツールを提供しています。 このツールを使って複数のコンテナを初期化・起動し、システムがコンテナを作成するのに必要な時間を計測できます。 異なる Incus の設定、システム設定、さらにはハードウェア構成に対して繰り返しツールを実行することで、パフォーマンスを比較し、どの設定が理想的か評価できます。

ツールを取得する

あなたのインストールにincus-benchmarkが存在しない場合は、ソースからビルドできます。 goGo参照)がインストールされていることを確認の上、以下のコマンドでツールをインストールしてください:

go install github.com/lxc/incus/cmd/incus-benchmark@latest

ツールを実行する

あなたの Incus 環境のパフォーマンスを計測するにはincus-benchmark [action]を実行してください。

ベンチマークは現在の Incus 設定を使用します。 別のプロジェクトを使用したい場合は、--projectで指定してください。

すべてのアクションについて、使用する並列スレッド数 (デフォルトはダイナミックなバッチサイズを使用) を指定できます。 また結果を CSV のレポートファイルに追加し、一定の方法でラベル付けすることもできます。

利用可能なアクションとフラグについてはincus-benchmark helpを参照してください。

イメージを選択する

ベンチマークを実行する前に、使用したいイメージの種別を選んでください。

ローカルイメージ

コンテナの作成にかかる時間を計測し、イメージをダウンロードするのにかかる時間を無視したい場合は、ベンチマークツールを実行する前にイメージをローカルのイメージストアにコピーするのが良いです。

そうするには、以下のようなコマンドを実行し、lxd.benchmarkの実行時にはイメージのフィンガープリント(たとえば2d21da400963)を指定します:

incus image copy images:ubuntu/22.04 local:

またイメージにエイリアスを割り当てて、incus-benchmarkの実行時にエイリアス (たとえばubuntu) を指定することもできます:

incus image copy images:ubuntu/22.04 local: --alias ubuntu
リモートイメージ

全体の結果にダウンロード時間も含めたい場合は、リモートイメージ (たとえばimages:ubuntu/22.04) を指定します。 incus-benchmarkが使用するデフォルトのイメージは最新の Ubuntu イメージ (images:ubuntu) ですので、このイメージを使用したい場合は、ツール実行時にイメージ名を省略できます。

コンテナを作成、起動する

指定した数のコンテナを作成するには以下のコマンドを実行します:

incus-benchmark init --count <number> <image>

特権コンテナを作成するにはコマンドに--privilegedを追加します。

例:

コマンド

説明

incus-benchmark init --count 10 --privileged

最新の Ubuntu イメージを使用して 10 個の特権コンテナを作成する。

incus-benchmark init --count 20 --parallel 4 images:alpine/edge

Alpine Edge イメージを使用する 20 個のコンテナを 4 つのパラレルスレッドを使用して作成する。

incus-benchmark init 2d21da400963

フィンガープリントが2d21da400963のローカルイメージを使用して 1 個のコンテナを作成する。

incus-benchmark init --count 10 ubuntu

ubuntuのエイリアスを設定されたイメージを使用して 10 個のコンテナを作成する。

initアクションを使用するとコンテナを作成するが起動はせずにベンチマークを実行します。 作成したコンテナを起動するには、以下のコマンドを実行します:

incus-benchmark start

あるいはlaunchアクションを使用してコンテナを作成し起動します:

incus-benchmark launch --count 10 <image>

このアクションでは、--freezeフラグを追加するとコンテナの起動直後に凍結できます。 コンテナを凍結するとプロセスは一時停止しますので、このフラグは各コンテナ内でプロセスが起動後に干渉するのを回避して純粋な起動時間を計測できます。

コンテナを削除する

作成したベンチマーク用のコンテナを削除するには、以下のコマンドを実行します:

incus-benchmark delete

注釈

新しいベンチマークを実行する前には既存のベンチマーク用コンテナを全て削除する必要があります。