『問題解決型』ハードウェアメーカー
ファナティック
-
- ファナティックの特長 ファナティックの特長
- /
- 製品&ソリューション 製品&ソリューション
- /
- 導入事例 導入事例
- /
- 最新ニュース 最新ニュース
- /
- ファナティックレポート ファナティックレポート
- /
- サポート サポート
- /
- 会社案内 会社案内
- /
- 採用情報 採用情報
2016.10.04 お知らせ
フラッシュデバイスを使用した高速ストレージが普及しつつあります。
オールフラッシュにすれば性能が高くなりますが、すべてをフラッシュデバイスで構成するにはまだまだ容量単価が高いのが現実です。
実際には、キャッシュや記憶階層の一部としてフラッシュデバイスを使用し、性能向上を図っている場合も多いのではないでしょうか?
HDDとフラッシュデバイス(SATA接続SSD/NVMe)の一般的なスペック値の比較を表1に示しています。
デバイス単体であれば、フラッシュデバイスはHDDに対してデータ転送帯域(スループット)も、アクセスレイテンシ(IOPSの逆数)も高速です。
表1. 各デバイス比較
スループット | IOPS | 容量 | 接続 | |
---|---|---|---|---|
HDD | ~200MB /s | ~100 | ~10TB | SAS/SATA 6/12G接続 |
SSD | ~500MB /s | ~85000 | ~1.6TB | SATA 6G接続 |
NVMe | ~3000MB /s | ~4500000 | ~2TB | PCI Express(x4)接続 |
しかし、ストレージにフラッシュデバイスを追加したから速くなるだろうと思っていたのにかえって性能が低下してしまったという経験はありませんか?
ディスクキャッシュや記憶域階層にフラッシュデバイスを使用した場合、
性能向上のためには
ことが求められます。
いずれかしか実現されないと、特定のアクセス時にしか性能は向上しません。
以下にフラッシュデバイスをキャッシュとして追加した構成でのデータの流れを示します。
(HDD:RAID5やRAID6等のストライピング構成)
データはHDD → RAIDコントローラ → PCI Expressインタフェース → CPUチップの流れで主記憶メモリに格納され、実際の処理に使用されます。
取り出したデータは、再利用のため逆の経路でRAIDコントローラ配下のSSDに格納されます。
再利用の際には、このSSDから同じ経路を使って読み出されます。
図1. SSD(SATA接続)をディスクキャッシュに利用
HDD1本あたりのスループットは150~200MB/s程度ですが、RAIDコントローラやHBAを使用して多数のHDDをストライピングすれば、ボリューム全体で数GB/sのスループットを実現することができます。
一方、SATA接続のSSDの場合はレイテンシは数ケタ短縮されるものの、スループットは単体500MB/s程度に留まります。
このためスループットではストライピングしたRAIDディスクボリュームに大きく及びません。
帯域を必要とせず、また頻繁に使用するデータ量が限られているケース以外では、SSDの追加がかえって性能低下を招くことになります。
PCI Express接続のNVMeを使用した場合、スループット・レイテンシは改善しますが、HDDの数が20台以上のRAID構成ではスループットにおいてNVMeがボトルネックになります。
図2. NVMeをディスクキャッシュまたは記憶域階層に利用
図2の構成でWindows Server 2012 R2の記憶域階層を利用した場合のベンチマークを実施しました。
図3. 記憶域階層
(頻繁にアクセスするデータはNVMe)
各評価ケースで比較したところ、以下のような結果になりました。
以上のベンチマークの結果からは
が読み取れます。
すなわち、データベースシステム等の小ブロックサイズアクセス中心のシステムでは記憶域階層を利用することで性能向上するものの、画像ファイル等のブロックサイズの大きいアクセス中心のシステムではかえって性能低下する傾向にあります。
上記では3つのケース比較実行するためデータサイズをNVMe(2TB)に収まる256GBで実行しています。
このため記憶域階層でのアクセスがほぼNVMeへのアクセスに収まってしまったようです。
次に実運用を想定し記憶域階層でのデータサイズをNVMeに収まらない8TBにして比較してみました。
ランダムアクセスでは、特に小ブロックサイズアクセスで性能が大幅に低下します。
広い記憶域領域にアクセスする場合、小ブロックサイズアクセスではHDDのレイテンシが、大ブロックサイズアクセスではNVMeのスループットが制限を受けることになり、結果NVMeのメリットを享受できない可能性があります。
今回のようなケースでフラッシュデバイスの効果を出すためにはNVMeを複数使用した方がよいでしょう。
すなわち、NVMeをストライピング構成にして、Tier1側のスループットをTier2のHDD-RAID以上にする事で常に性能向上が図れます。
以上のように、フラッシュデバイスを利用する場合は利用状況に応じてスループット、レイテンシが適切に改善される使い方になるよう注意が必要です。
ストレージについて、性能、ストレージ容量、コストなどのトレードオフで悩まれている方はぜひ当社までご相談ください。