複数の GKE クライアントから Google Kubernetes Engine(GKE)ワークロードの読み取り / 書き込みパフォーマンスをテストするには、IOR ベンチマーク ツールを使用します。次の手順では、クライアントの設定を自動化し、Kubernetes Pod 間のパスワードなしの SSH で mpirun を使用して IOR を使用し、集約 I/O をテストする方法について説明します。
前提条件
Managed Lustre インスタンスがすでにプロビジョニングされている。
Google Artifact Registry または Container Registry に push するように構成され、認証されたローカル Docker 環境(認証方法をご覧ください)。
ネットワークの
mtu値が8896に設定されていることを確認します。
GKE クラスタを作成する
パフォーマンスをテストするには、Managed Lustre CSI ドライバが有効になっている GKE クラスタが必要です。高パフォーマンス ストレージ ワークロードの場合は、コンピューティング最適化マシン ファミリー(c2 や c3 など)と TIER_1 ネットワーキングを使用して GKE ノードプールを構成します。
次のコマンドを実行して、パフォーマンス テスト用に最適化された Standard GKE クラスタを作成します。
gcloud container clusters create CLUSTER_NAME \
--zone=ZONE \
--machine-type=MACHINE_TYPE \
--addons=LustreCsiDriver \
--network-performance-configs=total-egress-bandwidth-tier=TIER_1 \
--network=NETWORK \
--num-nodes=NUM_NODES
ZONE と NETWORK は、特定のデプロイの値に置き換えます。クラスタは、Managed Lustre インスタンスと同じ VPC ネットワークに存在する必要があります。
MACHINE_TYPE を選択します。最適なスループットを実現するマシンタイプの選択については、パフォーマンスに関する考慮事項をご覧ください。
マシンタイプが TIER_1 ネットワーキングをサポートしていない場合は、コマンドから
--network-performance-configs行を削除します。NUM_NODES を指定します。ファイル システムを飽和させるには、クラスタの合計ネットワーク容量がファイル システムのプロビジョニングされたスループットを約 20% 超える必要があります。
Tier 1 ネットワーキングが有効になっているマシンでは、VM ファミリーと CPU 数に応じて、単一ノードで 25 Gbps ~ 200 Gbps(約 3,000 ~ 25,000 MBps)をプッシュできます。標準インスタンスの場合、下り(外向き)は通常、vCPU あたり約 2 Gbps に制限されます。
たとえば、Managed Lustre インスタンスの容量で理論上のスループットが 100,000 MBps になる場合、それを飽和させるには、クライアントの下り(外向き)の合計が 120,000 MBps(
100,000 * 1.2)必要です。- 標準インスタンスの場合: 各ノードの公開下り(外向き)が 2,000 MBps の場合は、少なくとも 60 個のノード(
120,000 / 2,000)をプロビジョニングする必要があります。 - Tier 1 ネットワーキングの場合: 各ノードの公開下り(外向き)が 10,000 Mbps(約 80 Gbps)の場合、少なくとも 12 個のノード(
120,000 / 10,000)をプロビジョニングする必要があります。
- 標準インスタンスの場合: 各ノードの公開下り(外向き)が 2,000 MBps の場合は、少なくとも 60 個のノード(
IOR Docker イメージを作成する
OpenMPI と IOR がインストールされたコンテナ イメージをビルドします。パフォーマンスを向上させるため、非同期 I/O(AIO)のサポートを使用して IOR をコンパイルします。
ローカルに
Dockerfileという名前のファイルを作成します。FROM ubuntu:22.04 # Prevent interactive prompts during installation ENV DEBIAN_FRONTEND=noninteractive # Install dependencies, SSH, and required Autotools packages RUN apt-get update && apt-get install