インテル® VTune™ プロファイラー・ユーザーガイド

SPDK I/O データビュー

インテル® VTune™ プロファイラーの入出力解析を使用して、SPDK I/O API をプロファイルして PCIe* トラフィックを解析し、リモートソケットへの非効率なアクセス、SPDK デバイスの未使用のスループットなどに起因する I/O パフォーマンスの問題を特定します。

事前に、次の操作を行う必要があります。正常に解析を行うには、SPDK が --with-vtune オプションを使用してビルドされている必要があります。

インテル® VTune™ プロファイラーは、以下の SPDK 使用モデルの最適化を支援します。

SPDK 解析では以下のワークフローを考慮します。

  1. 低い SPDK スループット利用率を特定します。

  2. マルチソケット・システムでの I/O 設定ミスの問題を特定します。

低い SPDK スループット利用率を特定

実行した操作タイプごとの SPDK 全体のパフォーマンス統計を示す、[サマリー] ウィンドウから解析を始めます。SSD デバイス間の潜在的な I/O パフォーマンスのインバランスを特定するため、操作ブロックを展開します。

SPDK スループットの分布図を調べて、ワークロードが SPDK スループットを活用していない度合をデバイスごとに理解します。

[ボトムアップ] ウィンドウに切り替えて、[低 SPDK スループット利用率] メトリックでタイムラインをフィルターアウトして、物理デバイスごとの低いスループット利用率、SPDK I/O API 呼び出し、および PCIe* トラフィックの内訳を確認します。

タイムライン上で問題のある領域 (持続時間の長い [低 SPDK スループット] マーカー) を見つけてズームインし、I/O 通信 (SPDK 操作の低下など) のパフォーマンスの変化を確認します。右クリックして、[選択してフィルターイン] メニューオプションを選択します。

[ボトムアップ] ビューをフィルターインしたら、グリッドを [関数] でグループ化して、選択した時間フレームで実行された関数を特定できます。高い CPU 時間値の関数をダブルクリックして、ソースビューを開いてコードを解析します。

マルチソケット・システムでの I/O 設定ミスの問題を特定

[プラットフォーム] ウィンドウを使用して、SPDK ワークロードがマルチソケット・システム向けに適切に構成されているか解析します。これを行うには、[パッケージ/物理コア/論理コア] グループに切り替えて、パッケージごとの I/O パフォーマンスを追跡します。

次の例は、SPDK デバイスとコアの消費/生産データが異なるパッケージにある場合の非効率な I/O フローを示しています。その結果、UPI 帯域幅値が高く、インターコネクトの利用率が高いことを示しています。

関連情報