Isilon IQのランダム性能は、低い?高い?
#おっと、以前の題名と似たような題名に。。
Isilon IQは、非構造化データ、今風の言葉で言うとBig Dataを高速で処理するために設計されたストレージです。そのため、構造化データ、いわゆるOracleのDBファイルなどをおいて使う場合には、そちらが得意なSANストレージに軍配が上がりますし、同じNASの分野でも、EMCやNetAppのほうがDB用途では高速であることは、別に隠すことでもありません。
ただ、すべてのシステムが「10GBのファイルをシーケンシャルに書き込み続ける」なんていうシステムだったらIQは無敵なのですが、そうもいかないのでこれまで着実にランダム処理についても進化を続けて来ました。
過去に実際に購入されたお客様や、貸出機でテストをしていただいた方のなかで、時折「Isilonはランダムが遅くて使い物にならない」とネットなどでおっしゃられているのをみて少しブルーになることもあり*1、今回機会がありましたのでこれまでの機種の性能をfstressというツールで比べてみました。
fstressというのは、ソースが公開されているフリーのベンチマークツールで、自分でワークロードを設計することができるなかなかの優れものです。SPECsfs97とほぼ同じ結果を得ることができる、ということで、主にlatencyを重視するランダムI/O性能を測定するツールです。 SPECsfs97は、各NFS Operationのlatencyの平均が、6ms以下の状態でいくつのNFS Operationをこなすことができるかを測定します。データの配置やNFS Operationの内容は決められています。
SPECsfs97はもう14年も前のツールということで、いくつか問題があり、今ではSPECsfs2008というベンチマークに取って代わられています。その一つの理由が、メモリがたくさん乗っていればよい結果が出がち、という点です。fstressのSPECsfs97もどきもこの問題は抱えていて、今時のストレージに対してfstressで負荷をかけると、内部的にほとんどディスクreadが行われていないことがわかります。writeしたものがcacheにのってreadされるため、ほとんど「ランダムWrite性能を測るツール」のように見えます。(もちろん、キャッシュの優秀さとか、複合的な要素がからみますが。)
とはいえ、ランダムWriteの性能が簡単にはかれるならそれはそれでいいことなので完全に無意味、ということはないでしょう。
いつものとおり前置きが多くなりました。
ベンチマークにつかったのは以下の4種類。
- IQ1920i
- 2005年〜2007年に現役だった機種。
- IQ1920x
- 2008年に登場した機種。今もエントリーとして販売されています。
- IQ10000x-SSD
- 1TBSATA玉 10本とSSD 2本を積んだモデル。CPUなども1920xからはパワーアップしています。
- IQ5400s
ベンチマークの条件は以下のとおり
諸事情により実際の数値は出せませんが、IQ1920i を1としたときの結果は以下でした。*2
IQ1920i | 1 |
IQ1920x | 2.4 |
IQ10000x-SSD | 4.75 |
IQ5400s | 7 |
IQ10000x-SSDが5400sより低いのは、以下のような理由です。
IQのSSDはメタデータの保存に利用されるのですが、N+2構成(筐体をまたいだRAID6のようなもの)の場合、1つをSSDに、2つをDiskに書き込みます。そのため、メタデータの書き込みの際はDiskが終わるのを待ちますので、別に早くはなりません。メタデータの読み込みはSSDから行いますので、とても高速に行えます。今回のベンチマークの場合、メタデータを読み込む際にほとんどキャッシュで終わってますので、SSDの性能を生かせず、SASとSATAの性能差(と、本数差)がでた、という感じですね。*3
今回、手元にIQ5000s-SSDという SAS + SSDのモデルを用意できなくて残念ですが、前述の理由から、IQ5400sとほとんど同じか、ディスクの本数分だけ若干下がるのでは?と見ています。これまた実環境での性能は段違いですが。。
ということで、私がSE時代に1920iをはじめとするiシリーズを使っていただいて、IQってランダム性能遅いなあ、という記憶が残っている方には是非最新の製品を試していただきたいなあ、と開発の現場から願っております。
むむ、iシリーズの5倍くらいじゃ足りない?さらに倍?きびしいなあ。。もう少し待ってくださいね。