EMC RepliStor簡単活用法 第5回 パフォーマンスチューニング

RepliStorを使う上で大切な要素として、データ転送時の速度を上げるためのパフォーマンスチューニングを考慮する必要がある。

オプションのパフォーマンスタブを開くと設定項目が現れる。

  • TCP/IPバッファ サイズ
  • 完全同期バッファ サイズ
  • 最大バッチ サイズ
  • ターゲット接続
  • 圧縮レベル

各項目については、マニュアルやヘルプをご確認ください。

この中で比較的簡単にチューニング出来る[ターゲット接続]、[圧縮レベル]を変えたときのパフォーマンスを測定した。尚、最適化オプションは[高速LAN]でTCPの設定を行っている。データとして一般的に使用するOfficeやpdf、画像ファイル、圧縮ファイルなどを含んだ6.4GBのファイルでテストを行った。

テスト環境等の詳しい情報は、RepliStorデータ速度比較をご覧いただきたい。

1Gbpsのデータ転送結果

1Gbps

1Gbpsの結果は、非圧縮で接続数を1本にすると最もパフォーマンスが得られた。また、非圧縮の場合、圧縮処理が必要ないため、CPU使用率が最も低い結果であった。

1Gbpsの環境では、次の結果を参考にしてチューニングを行うとよい。
・非圧縮で接続本数を少なめで調整すると速度向上が見られる。
・圧縮レベルは、「なし」「レベル1」で調整すると効果が期待できる。

100Mbpsのデータ転送結果

100mbps

100Mbpsのボトルネックがあるとき、圧縮レベル1、2、3に設定して接続数を8本以上に設定することで12.5MB/Secの理論値超えが可能である。
デメリットとしては高圧縮にすると、CPU使用率が極端に上がり、サーバーのパフォーマンスがダウンしてしまう可能性がある。

100Mbpsの環境では、次の結果を参考にしてチューニングを行うとよい。
・高圧縮で接続本数を多めに調整すると速度向上が見られる。
・圧縮レベルは、レベル1~3で調整すると効果が期待できる。

ファイルサイズと転送スピードの関係

ファイルサイズの大きさによっても、データ転送速度が大きく異なることを知っておいてください。IEなどWebブラウザのキャッシュファイルを削除するとブラウザがハングしてしまう経験はよくあると思います。このように大量の小さなファイルがある環境ではどうしてもパフォーマンスが低下するため注意が必要である。

使用するハードによっては、小さなファイルが多数あっても、速度低下に陥らない事もあるので注意してもらいたい。典型的なハードによる速度低下のグラフを示す。

下記グラフはハードの違いによるデータ転送速度の差を表している。

ハード違い

チップセットやCPUが異なるが、同じSATAⅡ規格のHDDを実装しているマシンで「100KB 100000個」のデータ転送では1ケタの違いが出るほど顕著な差が現れている。小さなファイルが多数あるような環境では、事前にシミュレーションを 行い、同期にかかる時間を予測しておく必要があるかもしれない。

また、OSの違いによる速度差のグラフを示す。
これは、同一スペックのハードでOSだけ異なる環境を構成し速度を計測した。

OS違い

グラフを見ると、1GBのデータではWindows2003で最高速度が出たが接続数が増えるにつれ極端に低下している。その点、Windows2008の方が、なだらかな曲線を描いており、トータルで考えるとパフォーマンスが得られている。1MBのデータではほぼ大差は見られないものの、100KBデータになると接続数16で10MB/sec近くの差が出てしまっている。

実環境のデータは大小さまざまなサイズのデータが入り混じっているため、Windows2008を使用するとトータル的にパフォーマンスが上がる傾向があるだろう。

圧縮と接続数の違いによる転送スピード

下記グラフは、同一スペックのハードを使用し圧縮と接続数を変化させたときの、転送スピードを表している。

Windows2003

win2003

Windows2008

win2008

巨大なファイル群がある環境では、接続数を少なく調整した方がスピードを得られる傾向にある。逆に小さなファイル群がある環境下では、接続数を増やして並列処理させた方がスピードを得られる傾向にある。
また圧縮レベルでは、「圧縮レベル1」に対し「圧縮なし」に設定した方がスピードを得られる傾向にある。これは圧縮することで余分なオーバーヘッドが発生してしまっているためと考えられる。

データは、「1GB 10個」「1MB 10000個」「100KB 100000個」のランダムテキスト ファイルを用意して計測している。いずれも1Gbps環境での測定結果である。

チューニングのまとめ

まずは実環境でのデータを調査して、下の条件に照らし合わせてチューニングを行ってみるのがよいだろう。

1Gbpsの環境下では、圧縮レベルを「なし」に調整
100Mbpsの環境下では、圧縮レベルを1~3に調整
*ただし、圧縮レベルを上げるとCPUの負荷がかかる為、注意が必要

ファイルサイズの平均が大きい場合 — 接続本数を少なめにチューニング
ファイルサイズの平均が小さい場合 — 接続本数を8本程度に設定
ファイルサイズの分布が分からない場合 — 「高速LAN」設定

考慮点として、圧縮されたファイルが多い環境で圧縮レベルを高めに設定すると、圧縮ファイルをさらに圧縮しようとするため、余分なオーバーヘッドがかかり、スピードがダウンする傾向が予想でき、逆に、圧縮しやすい非圧縮ファイルが多い、且つ100Mbpsの環境であれば、圧縮レベルを操作する方がスピードを得られる傾向が予測できる。

さまざまな環境があるためこれらの結果は一概に結論付けるものではないが、チューニングの傾向と対策に活用していただきたい。

第1回 EMC RepliStorの概要
第2回 EMC RepliStorインストールとスペシフィケーションの作成
第3回 VSSオ プションの概要
第4回 フェイ ルオーバー構成
第5回 パフォーマンスチューニング