TOP
«
»

istgt (iSCSI target) 20100516版 for FreeBSD 7.x

更新>istgt 2010/05/21版

先のCTアダプタの結果が残念なので・・・効率アップを図ってみました。
また、ESXiでの利用を想定してデフォルトの値を修正してみました。
(FirstBurstLength 64K => 256K, MaxBurstLength 256K => 1M)

通常はキューイングした後に送信されるR2Tコマンドを、
キューに入れる前に送信して後からデータPDUを回収する
という方法を取ってみました。

補足:
キューの深さと同数のライトバッファを用意するという意味です。

結果は以下のSS通りで、キャッシュが利用される領域において
15%以上の高速化ができました。
実際の速度は利用するエクステントの速度に制限されるとはいえ、
シングルパスのシーケンシャルで100MB/sを達成できたのはよかった。
デュアルパスでラウンドロビンするとリード190MB/s、ライト170MB/sと
単体HDDではおそらく処理が間に合わない程の速度が出ます。

   
(クリックで拡大)

さて、こうやって見ると…はい、ショートI/Oの性能が悪いですね。
こうしてさらに深みにはまっていくと。

あまりにも基本すぎて今まで書いていませんでしたけど、
マルチスレッドで動くのが前提なのでシングルコアのCPUの場合は、
ここで期待しているような値が出ることはないと思います。

※ラウンドロビンは処理データ(R/W)が偏って期待通りに行かない事があります:-)

新規のコンフィグキー:
  MaxOutstandingR2T 16
  DefaultTime2Wait 2
  DefaultTime2Retain 60

修正したコンフィグキー:
  FirstBurstLength 262144
  MaxBurstLength 1048576

istgt (tarball): istgt-20010516.tar.gz

作成方法:

# cd /path/to/work
# tar zxf /path/to/istgt-20100516.tar.gz
# cd istgt-20100516
# ./configure
# make
# make install
# make install-doc

デーモンの再起動方法:

# /usr/local/etc/rc.d/istgt restart

MD5 (istgt-20100516.tar.gz) = 358eec46c4cddc3a5944a49f96509e68
SHA256 (istgt-20100516.tar.gz) = fdb3d82d74d09bfc06204158147c8c7b63e642f67b83e74527875db3424e663e

主な修正点:
CHAPの乱数生成に arc4random を利用するようになりました。
シーケンシャル書き込みの処理を改善しました。
MaxOutstandingR2T, DefaultTime2Wait, DefaultTime2Retain が設定ファイルで変更可能になりました。
デフォルトの設定値を変更しました。

タグ: , , , , ,

コメント / トラックバック2件

  1. nsby より:

    早速、istgtの20100516版を使ってみました
    古いバージョンでは、ライト時にだいたい200Mbps前後でしたが、
    新バージョンでは、230Mbps強出てます。
    この差は結構大きいのでとても助かります。
    これからも、どんどんスピードアップしてください(^^)

  2. aoyama より:

    ありがとうございます。
    高速化はできる範囲で少しずつやって行こうと思っています。
    まずは安定動作するのが大前提なので。

コメントをどうぞ