パフォーマンスをベンチマークするには¶
Incus サーバーあるいはクラスタのパフォーマンスは、ハードウェア、サーバー設定、選択されたストレージドライバー、ネットワーク帯域幅から全体的な利用パターンに至るまでの多数の異なる因子によって変わります。
最適な設定を見つけるには、異なるセットアップを評価するためベンチマークテストを実行するほうが良いです。
Incus ではこの目的のためベンチマークツールを提供しています。 このツールを使って複数のコンテナを初期化・起動し、システムがコンテナを作成するのに必要な時間を計測できます。 異なる Incus の設定、システム設定、さらにはハードウェア構成に対して繰り返しツールを実行することで、パフォーマンスを比較し、どの設定が理想的か評価できます。
ツールを取得する¶
あなたのインストールにincus-benchmark
が存在しない場合は、ソースからビルドできます。
go
(Go参照)がインストールされていることを確認の上、以下のコマンドでツールをインストールしてください:
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
を追加します。
例:
コマンド |
説明 |
---|---|
|
最新の Ubuntu イメージを使用して 10 個の特権コンテナを作成する。 |
|
Alpine Edge イメージを使用する 20 個のコンテナを 4 つのパラレルスレッドを使用して作成する。 |
|
フィンガープリントが |
|
|
init
アクションを使用するとコンテナを作成するが起動はせずにベンチマークを実行します。
作成したコンテナを起動するには、以下のコマンドを実行します:
incus-benchmark start
あるいはlaunch
アクションを使用してコンテナを作成し起動します:
incus-benchmark launch --count 10 <image>
このアクションでは、--freeze
フラグを追加するとコンテナの起動直後に凍結できます。
コンテナを凍結するとプロセスは一時停止しますので、このフラグは各コンテナ内でプロセスが起動後に干渉するのを回避して純粋な起動時間を計測できます。
コンテナを削除する¶
作成したベンチマーク用のコンテナを削除するには、以下のコマンドを実行します:
incus-benchmark delete
注釈
新しいベンチマークを実行する前には既存のベンチマーク用コンテナを全て削除する必要があります。