2月20日、ネットアップは昨年末に発表されたばかりのオールフラッシュアレイ「NetApp EF550」の検証結果を披露した。システムズエンジニアの岩本 知博氏は、単にSSDがHDDより速いというだけではなく、IOPSとスループットの比較、性能対コスト、導入の現実解などを検証から導き出した。
「ライトは苦手」「コスパが悪い」を検証すると?
EF550はグローバルで65万台の出荷実績を誇るエンジニオ社製のディスクアレイ製品をベースにしたオールフラッシュアレイ製品。ネットアップによるエンジニオ買収にともない、同社がData ONTAPベースのFASと別に展開しているEシリーズをオールSSD化したものだ。2U筐体に800GBを24ドライブ搭載可能で、45万IOPSと12GB/sのスループットを誇る。
登壇したネットアップ システム技術本部パートナーSE部 システムズエンジニアの岩本 知博氏は、まず多くのユーザーが不安視するSSDの寿命について説明した。一般に書き込みに弱いSSDは寿命も短いとされているが、EF550に搭載されている800GB SSDの場合、ランダムライトのみを続けるというもっとも厳しい負荷でも約5年はもつというテスト結果がSSDベンダーから提供されているという。
岩本氏は、「実際は、書き込み続けることはありえないし、リードも混ざるので、5年間大丈夫というのはデータで裏付けられている」と語る。また、ネットアップのSSDはHDDと同じ5年という保守期間を保証しており、この範囲であれば故障だけではなく、書き込み寿命でも無償交換の範囲になるという。さらにSSDが故障する前にアラートが出るので、壊れる前にSSDを交換できるという。
次に披露したのが、HDDとSSDでIOPS比較。HDDとSSDでRAIDを組み、ブロケードのスイッチを用いた環境で比較すると、最大40万IOPSのSSDは比べるまでもなく圧勝だった。一般にフラッシュは書き込み性能が悪いとされるが、実際にランダムライトを調べると、HDDに比べれば、SSDは高い性能を実現したという。しかも、HDDをベースにしたEF550では、RAID0/1のほか、RAID5、RAID6、RAID6を拡張したDDP(Dynamic Disk Pool)など、さまざまなRAIDが組めるので、容量や性能の要件にあわせて選択できるというメリットがある。
続いてHDDが得意とされるシーケンシャルの比較だが、EF550の場合はリードは決してHDDに劣るわけではなく、2倍程度のIOPSは実現している。一方、シーケンシャルライトに関してはHDDの方がむしろ優れているという結果が出たという。
とはいえ、SSDはHDDに比べて高価だ。そのため、これらの結果を元に性能を価格で割り、EF550のコストパフォーマンスを換算したという。つまり、性能に対して、いくらかかるかをSSDとHDDで比較したわけだ。ランダムリードはHDDの10倍、ランダムライトはHDDの4倍程度お得。一方、シーケンシャルI/Oに関してはコストパフォーマンスが変わらないという結果が出た。つまり、ランダムI/Oの分野ではオールフラッシュアレイの導入メリットは明らかというわけだ。
高いキャッシュヒット率をキープできる
オールフラッシュアレイに最適な用途としてデータベースが挙がるが、会計やオンラインショッピングなどOLTP処理と、バッチやバックアップなどの処理では性格が異なる。そのため、この違いを意識しないと、適切な製品は選択できないという。「多くの現場では、昼は(ランダムI/Oの多い)OLTP処理がメインですが、夜はシーケンシャルI/Oの多いバッチ処理やバックアップをやっています。つまり、1つのシステムでどっちもやっているんです」(岩本氏)。こうなると、ランダムI/O、シーケンシャルI/Oの双方で性能向上を得られるEF550は優位になると言う。
この特性を調べるため、岩本氏はランダムI/OメインのOLTPとシーケンシャルI/Oメインのバッチ処理で検証した。検証環境ではコントローラーを二重化し、SSDを24本フル装備したEF550を使って、Oracle RACの環境を構築。多くの処理をパラレル化し、なるべくすべてのデバイスを利用できるよう、構成した。
OLTP処理の検証はショッピングサイトを模したシステムを構築。データの種類を増やしながら、HDDとSSDでトランザクション数/秒とCPU使用率を比べたもの。アクセスに関しては、リードがメインのサイト閲覧と、リードとライトが混ざる購入という、性格の異なる処理を一定の割合で混ぜ、現実的な測定にした。
さて、実際の検証結果を見てみよう。OLTP処理では、データベースのキャッシュヒット率が高いのが理想の状態だ。しかし、単位時間あたりに扱うデータの種類が増えると、データベースのキャッシュがヒットしなくなるため、自ずとI/Oが発生する。しかし、HDDでI/Oが発生すると、当然処理が遅くなる。そのため、メモリを追加したり、SQLをチューニングし、インデックスを張る。これが従来データベースのエンジニアが行なっていたアプローチだ。
これに対して、オールフレッシュアレイを導入すれば、キャッシュヒット率が高い状態をキープできる。岩本氏は、「キャッシュヒットしなくても、1ミリ秒以内で結果が戻ってくるので、性能が落ちない。フラッシュはOLTPの性能を上げるというより、理想の状態を維持できますといったほうが正しい」と指摘する。
EF550はバッチ処理も高速化できる
とはいえ、OLTP処理の効率化は、他のオールフラッシュアレイでも可能。EF550の真骨頂は、こうしたオールフラッシュアレイの魅力を持ちながら、シーケンシャルI/Oの多いバッチやバックアップも得意なことだという。
岩本氏が用意したバッチ処理は、①表の全件検索、②インデックスの検索、③インデックスの高速全件検索、④インデックスのメンテナンス、⑤複数の表の結合、⑥大量データの書き込み処理など6つ。これをHDDとSSDで比べ、かかった時間を見るというものだ。結果を見ると、SSDで高速化されたものとあまり高速化されなかったものが出た。
具体的には、①の表の全件検索、③索引の高速全件検索、④索引のメンテナンスの3つは特に高速化されており、Oracle DBの動作から考えると、望ましい高速化だという。高速化した背景は、①③④などの処理が特にHDDのI/Oが発生しているからにほかならない。スループットが速いSSDの場合、このI/Oのボトルネックが解消されるため、リソース利用率を比べると、サーバーのCPUが高くなるという。「SQLの書き方や索引の作り方にもよるが、高速化されなかった処理は、もともとCPUの利用率が高い。I/Oを高速化しても処理は速くならない」というわけだ。
岩本氏が、さらにI/Oの種類を調べると、EF550で高速化された①③④の処理はデータベースフルスキャンやダイレクトリードなどシーケンシャルリードが中心だった。岩本氏は、「すべてのバッチ処理がランダムリードであれば、他のオールフラッシュアレイでも性能は変わらない。しかし、①④で必要なシーケンシャルリードを高速化できたのは、スループットが速いEF550だけ」と述べた。動画配信などのシーケンシャルI/Oを得意とするEシリーズをオールフラッシュ化した製品だからこそ、こうしたメリットが得られるという。
岩本氏は、EF550で期待される効果として「ランダムリードが多いOLTPの場合、キャッシュヒット率を上げるために、がんばらなくてよい。データベースチューニングが必要ない。バッチ処理の場合は、テーブルフルスキャンの走る場合に遅くなるが、スループットの高いEF550であれば高速化できる」とまとめ、データベースに最適なストレージとアピールした。