Azure NetApp Files のパフォーマンス ベンチマークのテスト レコメンデーション

この記事では、Azure NetApp Files を使用する際のボリュームのパフォーマンスとメトリックのベンチマーク テストに関する推奨事項を示します。

概要

Azure NetApp Files ボリュームのパフォーマンス特性を理解するために、オープンソース ツールの FIO を使用して一連のベンチマークを実行し、さまざまなワークロードをシミュレートすることができます。 FIO は、Linux と Windows のどちらをベースにしたオペレーティング システムにもインストールできます。 ボリュームの IOPS とスループット両方の簡易スナップショットを取得するための優れたツールです。

重要

Azure NetApp Files では、基準となるベンチマーク ツールとして ユーティリティを使用することは "推奨されませんdd"。 実際のアプリケーション ワークロード、ワークロードのシミュレーション、ベンチマークと分析のツール (たとえば、Oracle、または DB2 に相当する IBM での Oracle AWR) を使用して、最適なインフラストラクチャのパフォーマンスを確立および分析する必要があります。 FIO、vdbench、iometer などのツールでは、仮想マシンをストレージの制限に合わせて決定し、テストのパラメーターを実際のアプリケーション ワークロードの組み合わせに一致させることで、最も有用な結果を得ることができます。 ただし、常に実際のアプリケーションでテストすることをお勧めします。

VM インスタンスのサイズ設定

最良の結果を得るには、テストを実行するために適切なサイズの仮想マシン (VM) インスタンスを使用していることを確認してください。 次の例では Standard_D32s_v3 インスタンスを使用します。 VM インスタンスのサイズの詳細について、Windows ベースの VM の場合は「Azure の Windows 仮想マシンのサイズ」、Linux ベースの VM の場合は「Azure の Linux 仮想マシンのサイズ」を参照してください。

Azure NetApp Files ボリュームのサイズ設定

必ず、予想されるパフォーマンス レベルに合った正しいサービス レベルおよびボリューム クォータ サイズを選択してください。 詳細については、「Azure NetApp Files のサービス レベル」を参照してください。

仮想ネットワーク (VNet) の推奨事項

ベンチマーク テストは Azure NetApp Files と同じ VNet で実行する必要があります。 次の例は推奨事項を示しています。

VNet recommendations

パフォーマンス ベンチマーク ツール

ここでは、いくつかのベンチマーク ツールについて詳しく説明します。

SSB

SQL Storage Benchmark (SSB) は、Python で記述されたオープンソースのベンチマーク ツールです。 ストレージ サブシステムのパフォーマンスを測定するような形でデータベースの相互作用をエミュレートする "現実的な" ワークロードを生成するように設計されています。

SSB の目的は、組織および個人が、SQL データベース ワークロードのストレス下でストレージ サブシステムのパフォーマンスを測定できるようにすることです。

SSB のインストール

SSB の README ファイルの「Getting started」(はじめに) の説明に従って、選択したプラットフォームにインストールします。

fio

Flexible I/O Tester (FIO) は、ベンチマークとストレス/ハードウェア検証の両方に使用される、無償かつオープンソースのディスク I/O ツールです。

FIO は、Linux と Windows の両方でバイナリ形式で入手できます。

FIO のインストール

FIO README ファイルの「Binary Packages」セクションに従って、選択したプラットフォームにインストールします。

IOPS 用の FIO の例

このセクションの FIO の例では、次の設定を使用します。

  • VM インスタンス サイズ: D32s_v3
  • 容量プールのサービス レベルとサイズ: Premium / 50 TiB
  • ボリュームのクォータ サイズ: 48 TiB

次の例は FIO のランダム読み取りおよび書き込みを示します。

FIO: 8k ブロック サイズ 100% ランダム読み取り

fio --name=8krandomreads --rw=randread --direct=1 --ioengine=libaio --bs=8k --numjobs=4 --iodepth=128 --size=4G --runtime=600 --group_reporting

FIO: 8k ブロック サイズ 100% ランダム書き込み

fio --name=8krandomwrites --rw=randwrite --direct=1 --ioengine=libaio --bs=8k --numjobs=4 --iodepth=128 --size=4G --runtime=600 --group_reporting

ベンチマーク結果

Azure NetApp Files での FIO のパフォーマンスに関する公式ベンチマークの結果については、「Azure NetApp Files の Linux 用パフォーマンス ベンチマーク」を参照してください。

帯域幅用の FIO の例

このセクションの例は、FIO のシーケンシャル読み取りおよび書き込みを示します。

FIO: 64k ブロック サイズ 100% シーケンシャル読み取り

fio --name=64kseqreads --rw=read --direct=1 --ioengine=libaio --bs=64k --numjobs=4 --iodepth=128 --size=4G --runtime=600 --group_reporting

FIO: 64k ブロック サイズ 100% シーケンシャル書き込み

fio --name=64kseqwrites --rw=write --direct=1 --ioengine=libaio --bs=64k --numjobs=4 --iodepth=128 --size=4G --runtime=600 --group_reporting

ベンチマーク結果

Azure NetApp Files での FIO のパフォーマンスに関する公式ベンチマークの結果については、「Azure NetApp Files の Linux 用パフォーマンス ベンチマーク」を参照してください。

ボリューム メトリック

Azure NetApp Files のパフォーマンス データは Azure Monitor のカウンターから取得できます。 カウンターは Azure portal から、また REST API の GET 要求を使用して取得できます。

次の情報の履歴データを確認できます。

  • 読み取りの平均待機時間
  • 書き込みの平均待機時間
  • 読み取り IOPS (平均)
  • 書き込み IOPS (平均)
  • ボリュームの論理サイズ (平均)
  • ボリュームのスナップショット サイズ (平均)

Azure Monitor の使用

次に示すように、[Metrics] (メトリック) ページから、ボリュームごとの Azure NetApp Files カウンターにアクセスできます。

Azure Monitor metrics

Azure NetApp Files 用のダッシュボードを Azure Monitor に作成することもできます。[Metrics] (メトリック) ページに移動し、"NetApp" で絞り込んで、目的のボリューム カウンターを指定します。

Azure Monitor dashboard

Azure Monitor API アクセス

REST API 呼び出しを使用して Azure NetApp Files カウンターにアクセスできます。 容量プールおよびボリュームのカウンターについては、「Azure Monitor でサポートされているメトリック: Microsoft.NetApp/netAppAccounts/capacityPools/Volumes」を参照してください。

次の例は、論理ボリューム サイズを確認するための GET URL を示しています。

#get ANF volume usage
curl -X GET -H "Authorization: Bearer TOKENGOESHERE" -H "Content-Type: application/json" https://management.azure.com/subscriptions/SUBIDGOESHERE/resourceGroups/RESOURCEGROUPGOESHERE/providers/Microsoft.NetApp/netAppAccounts/ANFACCOUNTGOESHERE/capacityPools/ANFPOOLGOESHERE/Volumes/ANFVOLUMEGOESHERE/providers/microsoft.insights/metrics?api-version=2018-01-01&metricnames=VolumeLogicalSize

次のステップ