NetApp E2700のテスト

Testing NetApp E2700



長い間、私はエントリーレベルのアレイのテストに出くわしませんでした。ストリーミング負荷のある単一のコントローラーを介して最大1.5 Gb / sを渡すことができました。 NetApp E2700はこのタスクに対処しました。 6月に、 Unboxing NetApp E2700をホストしました。 これで、このストレージシステムのテスト結果を共有できます。 以下に、負荷テストの結果と、NetApp Eシリーズ2700アレイの結果的な定量的パフォーマンスインジケータ(IOps、スループット、遅延)を示します。



ディスクアレイの構成は次のとおりです。



   NetApp E2700



アレイをサーバーに接続するスキーム:



   NetApp E2700



テストサーバーの構成:







テスト方法



負荷ジェネレーターとして、Linuxで最も「真の」ベンチマークとしてFIOベンチマークを使用します。 次の種類の負荷の下で、平均速度(帯域幅、Mb / s)および平均遅延(レイテンシ、ミリ秒)のデータを取得したい:

  1. 256 kb、512 Kb、および1024 Kbのブロックでの100%連続読み取り。
  2. 256 kb、512 Kb、および1024 Kbのブロックでの100%順次記録。
  3. 256 kb、512 Kb、および1024 Kbのブロックでの混合シーケンシャル読み取り/書き込み(50/50)。
  4. 4 kb、8 Kb、および16 Kbのブロックでの100%ランダム読み取り。
  5. 4 kb、8 Kb、および16 Kbのブロックでの100%ランダム記録。
  6. 混合ランダム読み取り/書き込み(50/50)、256 kb、512 Kb、および1024 Kbのブロック。


この場合、アレイから2つのLUNを使用します。それぞれ1 TBのサイズで、サーバーレベルでRAWデバイスとして使用可能なsdbとsdcです。



私のテストの重要なポイントは、アレイがサポートするさまざまなRAIDレベルのパフォーマンスを比較することです。 したがって、DDP、RAID6、RAID10で作成されたLUNに交互に負荷を適用します。 そして、24個すべてのディスクに基づいてダイナミックディスクプールとボリュームグループを作成します。



悪名高い「Linuxメモリキャッシュ」の動作アルゴリズムに結果が依存しないようにするために、ブロックデバイスを使用します。その上にファイルシステムを編成することはありません。 もちろん、これはストリーミングアプリケーションの最も標準的な構成ではありませんが、アレイが正確に何を可能にするかを理解することは重要です。 ただし、FIOロードパターンでdirect = 1およびbuffered = 0パラメーターを使用する場合、EXT4レベルでファイルを操作(書き込み)すると、bandwithブロックデバイスでもほぼ同じ結果が表示されます。 同時に、ファイルシステムを使用する場合のレイテンシインジケーターは、rawデバイスを使用する場合よりも15〜20%高くなります。

FIOの負荷パターンは次のように構成されます。



[グローバル]

説明= seq-reads

ioengine = libaio

bs =上記を参照

ダイレクト= 1

バッファリング= 0

rw = [書き込み、読み取り、rw、randwrite、randread、randrw]

ランタイム= 900





[sdb]

ファイル名= / dev / sdc

iodepth =参照 下



[sdc]

ファイル名= / dev / sdb

iodepth =参照 下




私が正しく理解していれば、man by fio、iodepthパラメーターは、同時にディスクで動作する独立したスレッドの数を決定します。 したがって、構成では、X * 2(4、8、16)に等しいスレッド数を取得します。



その結果、テストスイートは次のようになりました。



   NetApp E2700



メソッドを見つけ出し、パターンを決定し、負荷を与えました。 管理者の作業を容易にするために、2つのパラメーター(bsとiodepth)の値が変更される個別のファイルの形式でFIOパターンのセットをカットできます。 その後、2つのサイクル(2つのパラメーターの値を変更)で必要なインジケーターを別のファイルに保存してすべてのパターンを実行するスクリプトを作成できます。



はい、私はいくつかのポイントをほとんど忘れていました。 アレイレベルで、次のようにキャッシュ設定を構成しました。



Linuxレベルでは、通常のI / Oスケジューラーをストリーミング操作のnoopおよびランダム操作の締切に変更しました。 さらに、HBAレベルでトラフィックのバランスを正しくとるために、NetAppのマルチパスドライバーMPP / RDACをインストールしました。 彼の仕事の結果は嬉しい驚きでした。HBAポート間のデータの流れはほぼ50 x 50でバランスが取れていました。これはQlogicや通常のlinux multipathdでは見たことがありません。



SANTricityには、いくつかの調整パラメーターがあります(たとえば、ボリュームレベルでのデータキャッシュの管理について上記で説明しました)。 別の潜在的に興味深いパラメータは、ボリュームレベルで設定および変更できるセグメントサイズです。 セグメントサイズは、コントローラーが1つのディスクに書き込むブロックです(セグメント内のデータは512バイトのブロックで書き込まれます)。 DDPを使用する場合、プールで作成されるすべてのボリュームのこのパラメーターのサイズは同じ(128k)であり、変更できません。



VolumeGroupに基づいて作成されたボリュームの場合、ボリューム(FileSystem、Database、Multimedia)に対して事前に構成されたロードテンプレートを選択できます。 さらに、SegmentSizeのサイズを32 Kb〜512 Kbの範囲で自分で選択できます。



     ,    VolumeGroup



一般に、組み込みのボリュームI / O特性タイプの場合、セグメントサイズのサイズはそれほど多様ではありません。



ボリュームの作成時にデフォルト(ファイルシステム)パターンを変更しなかったため、DDPと通常のVolumeGroupで作成されたボリュームのセグメントサイズが同じになります。



もちろん、セグメントサイズのサイズをいじって、書き込み操作のパフォーマンスにどのように影響するかを理解しました(たとえば)。 結果は非常に標準的です:



合計すると、このパラメーターの有用性は明らかであり、多くのランダムな操作があると仮定する場合、32 Kbに設定することは理にかなっています(もちろん、DDPを使用しない限り)。 ストリーミング操作の場合、SS値を最大に設定する理由はありません。 私はデータ転送速度の基本的な増加を観察しませんでした。また、レイテンシインジケータはアプリケーションにとって重要になる可能性があります。



結果(評価と結果の比較)



DDPテスト結果



   DDP  NetApp E2700



RAID6テスト結果



   RAID6  NetApp E2700



RAID10テスト結果



   RAID10  NetApp E2700



結果の評価



  1. 私がすぐに気づいた最初のポイントは、パターンの0%読み取りキャッシュの使用率です(書き込みキャッシュが完全にオフになっている場合でも)。 接続先を理解することはできませんでしたが、読み取り操作の結果は書き込み操作に比べて大幅に低下しました。 おそらく、これは、読み取りキャッシュを2つのコントローラー間でミラー化する必要があるため、テストアレイの単一コントローラー構成によるものです。
  2. 2番目のポイントは、ランダム操作の割合がかなり低いことです。 これは、(上で書いたように)セグメントサイズのサイズがデフォルトで128 Kbに使用されていたという事実によって説明されます。 ブロックサイズが小さい場合、このSSサイズは適切ではありません。 検証のために、SS = 32 KbでRAID6およびRAID10のボリュームにランダムロードを実行しました。 結果ははるかに興味深いものでした。 ただし、DDPの場合、SSのサイズを変更できないため、DDPのランダムな負荷は禁忌です。
  3. DDP、RAID6、およびRAID10のパフォーマンスをSS = 128 Kbのサイズと比較すると、次のパターンを追跡できます。






結論



長い間、私はエントリーレベルのアレイのテストに出くわしませんでした。ストリーミング負荷のある単一のコントローラーを介して最大1.5 Gb / sを渡すことができました。 デュアルコントローラー構成では、最大3 Gb / sを処理できると想定できます。 そして、これは最大24 Gb / sのデータストリームです。



もちろん、私たちが使用するテストは総合的なものです。 しかし、示されている結果は非常に良好です。 予想どおり、配列はランダム操作中に混合負荷を弱く保持しますが、奇跡はありません:-)。



使いやすさと、エントリーレベルのアレイの特定の負荷パターンの設定を最適化する可能性の観点から、E2700は最高の性能を発揮しています。 SANTricityには、明確でかなりシンプルなインターフェイスがあり、最小限のグリッチとブレーキがあります。 しばしば明確ではない値の不必要な設定はありません(IBM DS 4500の制御インターフェースを思い出します-それは何かでした)。 一般に、すべてが堅固な「4」です。



All Articles