CloudMonitor、eadm、iproute2、および diagnose ツールを使用して、eRDMA トラフィックをモニタリングし、障害ポイントを特定し、ネットワークパフォーマンスを評価します。
前提条件
eRDMA が対象の Elastic Compute Service (ECS) インスタンスにインストールおよびデプロイ済みである必要があります。詳細については、「ECS インスタンスで eRDMA を有効化する」をご参照ください。
CloudMonitor による eRDMA のモニタリング
CloudMonitor は eRDMA のステータスを追跡し、カスタムアラートをサポートします。詳細については、「カスタムモニタリング」をご参照ください。
eRDMA がサポートする監視メトリクスの確認
-
CloudMonitor コンソールにログインします。
-
メトリクス一覧の検索ボックスに eri と入力して、eRDMA の監視メトリクスを表示します。

eadm ツールによる eRDMA の診断
eadm は eRDMA ドライバーとともにデプロイされるユーザースペースツールです。リアルタイムモニタリングおよび診断機能により、障害ポイントの特定を支援します。主な機能は以下のとおりです。
-
トラフィックモニタリングおよび補助診断:デバイス全体のリアルタイムトラフィック統計を提供します。
-
構成のクエリおよび設定:遅延 ACK 機能および CC アルゴリズムを設定できます。
以下は一般的な eadm コマンドです。その他のコマンドについては、eadm -h を実行してください。
このツールは診断およびデバッグ専用です。今後変更される可能性があり、すべてのシナリオで利用可能であることは保証されていません。
-
eadmコマンドのヘルプを表示します。eadm -h
-
eRDMA デバイスのリアルタイムトラフィックをモニタリングします
ドライバーバージョン
0.2.34以降が必要です。eadm stat -d <ibdev_name> -l<ibdev_name>:eRDMA デバイス名です。ibv_devinfoを実行して確認できます。eRDMA デバイスが 1 つしかない場合は、-d <ibdev_name>を省略できます。
-
eRDMA デバイスの統計情報を取得します(例:CM および verbs メッセージ数、トラフィック数)。
eadm stat -d <ibdev_name><ibdev_name>:eRDMA デバイス名です。ibv_devinfoを実行して確認できます。eRDMA デバイスが 1 つしかない場合は、-d <ibdev_name>を省略できます。
-
現在の eRDMA ドライバーバージョンを取得します。
eadm ver
info、dump、conf などの他のコマンドには使用制約があります。必要がない限り実行しないでください。
iproute2 による eRDMA のモニタリングと診断
iproute2 は Linux ネットワーキングツールキットであり、ネットワークインターフェース、ルーティングテーブル、トラフィックコントロールを管理するための ip や ss などのユーティリティを提供します。組み込みの rdma コマンドを使用して、RDMA サブシステムをモニタリングおよび診断できます。
Alibaba Cloud Linux 3 や Ubuntu 20.04 以降など、ほとんどの Linux ディストリビューションでは、iproute2 がデフォルトで含まれています。詳細については、ご利用のオペレーティングシステムのドキュメントをご確認ください。
-
eRDMA デバイスのステータスをクエリします。
rdma link
-
eRDMA のリソース使用量(CQ、QP、MR の数など)をクエリします。
説明RDMA ネットワーク通信において、キューペア (QP)、完了キュー (CQ)、メモリリージョン (MR)、および verbs Opcode はコアコンポーネントです。これらは RDMA 通信において重要な役割を果たし、RDMA ネットワーク通信の高効率性と低レイテンシーを確保します。
詳細については、「eRDMA の機能と仕様」をご参照ください。
rdma res
-
eRDMA のパフォーマンス統計(接続数、接続ステータス、パケット数など)をクエリします。
rdma -p stat
diagnose ツールによる eRDMA の診断と評価
diagnose ツールは、eRDMA の基本機能チェック、HPC 環境チェック、レイテンシーチェックをサポートします。
診断チェックの結果
-
PASS:チェックに合格しました。 -
SKIP:現在のシステムバージョンではこのチェックがサポートされていません。 -
FAIL:チェックツールがインストールされていないか、チェックに失敗しました。fail infoに失敗したコマンドが記載されています。 -
その他の INFO メッセージ:eRDMA の構成詳細(インストールモード、ドライバーバージョン、CC アルゴリズムなど)。
diagnose のインストール
eRDMA が構成されたインスタンス上で、diagnose ツールをダウンロードします。
-
内部 URL からダウンロード
wget http://mirrors.cloud.aliyuncs.com/erdma/tools/diagnose.py -
公開 URL からダウンロード
wget https://mirrors.aliyun.com/erdma/tools/diagnose.py
eRDMA 基本機能の診断
基本機能テストでは、ドライバーのインストール、ネットワーク接続、および eRDMA カーネルドライバーのインストールモードを検証します。
操作手順:
-
eRDMA が構成されたインスタンスにログインします。
詳細については、「Workbench を使用して Linux インスタンスに接続する」をご参照ください。
-
diagnose ツールをダウンロードします。
-
内部 URL からダウンロード
wget http://mirrors.cloud.aliyuncs.com/erdma/tools/diagnose.py -
公開 URL からダウンロード
wget https://mirrors.aliyun.com/erdma/tools/diagnose.py
-
-
eRDMA の基本機能をチェックします。
python diagnose.py -d以下は出力例です。診断項目の説明については、「eRDMA 基本機能診断項目」をご参照ください。

eRDMA HPC 環境の診断
eRDMA 環境における HPC アプリケーションでは、追加の依存関係および構成が必要になる場合があります。diagnose ツールはこれらの依存関係をチェックします。
操作手順:
-
eRDMA が構成されたインスタンスにログインします。
詳細については、「Workbench を使用して Linux インスタンスに接続する」をご参照ください。
-
diagnose ツールをダウンロードします。
-
内部 URL からダウンロード
wget http://mirrors.cloud.aliyuncs.com/erdma/tools/diagnose.py -
公開 URL からダウンロード
wget https://mirrors.aliyun.com/erdma/tools/diagnose.py
-
-
HPC 環境の依存関係をチェックします。
python diagnose.py --hpc-check出力例です。診断項目の説明については、「eRDMA HPC 環境依存関係チェック」をご参照ください。

eRDMA ネットワークパフォーマンスの評価
diagnose ツールの perftest 機能を使用して、インスタンス間のネットワークパフォーマンスをテストします。
-
前提条件
テストを実行する前に:
-
すべてのテストノードに eRDMA がインストールおよびデプロイ済みである必要があります。詳細については、「ECS インスタンスで eRDMA を有効化する」をご参照ください。
-
すべてのテストノード間でパスワードレス SSH が構成されている必要があります。詳細については、「パスワードレス SSH ログインを構成する」をご参照ください。
-
すべてのテストノードに Python paramiko がインストールされています。
説明-
diagnose ツールはリモート接続に paramiko を使用します。
-
以下のコマンドで paramiko をインストールします。Python 3 を推奨します。
Alibaba Cloud Linux/CentOS
# python3 sudo python3 -m pip install --upgrade pip sudo python3 -m pip install paramiko # python2 # Python 2 用の pip モジュールがインストールされていない場合は、python2-pip をインストールします。 sudo yum -y install python2-pip sudo python2 -m pip install --upgrade pip==20.3.4 sudo python2 -m pip install paramikoUbuntu
# python3 sudo python3 -m pip install --upgrade pip sudo python3 -m pip install paramiko # python2 # 現在のノードに python2-pip がインストールされていない場合は、インストールします。 sudo apt install software-properties-common sudo add-apt-repository universe sudo apt update sudo apt install python2 sudo curl https://bootstrap.pypa.io/pip/2.7/get-pip.py --output get-pip.py sudo python2 get-pip.py sudo python2 -m pip install --upgrade pip==20.3.4 sudo python2 -m pip install paramiko -
-
-
操作手順
-
eRDMA が構成されたインスタンスにログインします。
詳細については、「Workbench を使用して Linux インスタンスに接続する」をご参照ください。
-
diagnose ツールをダウンロードします。
-
内部 URL からダウンロード
wget http://mirrors.cloud.aliyuncs.com/erdma/tools/diagnose.py -
公開 URL からダウンロード
wget https://mirrors.aliyun.com/erdma/tools/diagnose.py
-
-
eRDMA レイテンシーをテストします。
python diagnose.py --perftest --hosts <n1> <n2> --user <username> --key-file </path/to/private_key>パラメーター:
-
--hosts <n1> <n2>:スペースで区切られたテストノードです。<n1> <n2>を各ノードの eRDMA が有効な ENI のプライベート IP アドレスに置き換えてください。 -
--user <username>:パスワードレス SSH 用のユーザー名です。 -
--key-file </path/to/private_key>:SSH 用の秘密鍵ファイルへの絶対パスです。
2 インスタンス間のレイテンシーテストの出力例です。詳細については、「eRDMA ネットワークパフォーマンステスト」をご参照ください。
各表は異なる操作のレイテンシーを示します。行はリクエスター、列はレスポンダーを表します。セルの値は平均レイテンシー(マイクロ秒単位)を示し、括弧内は 99.9 パーセンタイルの値です。

-
-
