このページの本文へ

IOPS vs スループット!オールフラッシュアレイの真の実力に迫る

「EF550」は昼のOLTPも夜間バッチもそつなくこなす優等生

2014年02月25日 06時00分更新

文● 大谷イビサ/TECH.ASCII.jp

  • この記事をはてなブックマークに追加
  • 本文印刷

2月20日、ネットアップは昨年末に発表されたばかりのオールフラッシュアレイ「NetApp EF550」の検証結果を披露した。システムズエンジニアの岩本 知博氏は、単にSSDがHDDより速いというだけではなく、IOPSとスループットの比較、性能対コスト、導入の現実解などを検証から導き出した。

「ライトは苦手」「コスパが悪い」を検証すると?

 EF550はグローバルで65万台の出荷実績を誇るエンジニオ社製のディスクアレイ製品をベースにしたオールフラッシュアレイ製品。ネットアップによるエンジニオ買収にともない、同社がData ONTAPベースのFASと別に展開しているEシリーズをオールSSD化したものだ。2U筐体に800GBを24ドライブ搭載可能で、45万IOPSと12GB/sのスループットを誇る。

EF550の前モデルオールフラッシュアレイの「NetApp EF540」

 登壇したネットアップ システム技術本部パートナーSE部 システムズエンジニアの岩本 知博氏は、まず多くのユーザーが不安視するSSDの寿命について説明した。一般に書き込みに弱いSSDは寿命も短いとされているが、EF550に搭載されている800GB SSDの場合、ランダムライトのみを続けるというもっとも厳しい負荷でも約5年はもつというテスト結果がSSDベンダーから提供されているという。

 岩本氏は、「実際は、書き込み続けることはありえないし、リードも混ざるので、5年間大丈夫というのはデータで裏付けられている」と語る。また、ネットアップのSSDはHDDと同じ5年という保守期間を保証しており、この範囲であれば故障だけではなく、書き込み寿命でも無償交換の範囲になるという。さらにSSDが故障する前にアラートが出るので、壊れる前にSSDを交換できるという。

EF550の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は優位になると言う。

あるデータベースシステムの1日

 この特性を調べるため、岩本氏はランダムI/OメインのOLTPとシーケンシャルI/Oメインのバッチ処理で検証した。検証環境ではコントローラーを二重化し、SSDを24本フル装備したEF550を使って、Oracle RACの環境を構築。多くの処理をパラレル化し、なるべくすべてのデバイスを利用できるよう、構成した。

 OLTP処理の検証はショッピングサイトを模したシステムを構築。データの種類を増やしながら、HDDとSSDでトランザクション数/秒とCPU使用率を比べたもの。アクセスに関しては、リードがメインのサイト閲覧と、リードとライトが混ざる購入という、性格の異なる処理を一定の割合で混ぜ、現実的な測定にした。

 さて、実際の検証結果を見てみよう。OLTP処理では、データベースのキャッシュヒット率が高いのが理想の状態だ。しかし、単位時間あたりに扱うデータの種類が増えると、データベースのキャッシュがヒットしなくなるため、自ずとI/Oが発生する。しかし、HDDでI/Oが発生すると、当然処理が遅くなる。そのため、メモリを追加したり、SQLをチューニングし、インデックスを張る。これが従来データベースのエンジニアが行なっていたアプローチだ。

 これに対して、オールフレッシュアレイを導入すれば、キャッシュヒット率が高い状態をキープできる。岩本氏は、「キャッシュヒットしなくても、1ミリ秒以内で結果が戻ってくるので、性能が落ちない。フラッシュはOLTPの性能を上げるというより、理想の状態を維持できますといったほうが正しい」と指摘する。

OLTPの検証結果を見れば、SSDを使えば、キャッシュヒット率に依存せず、TPSは一定

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シリーズをオールフラッシュ化した製品だからこそ、こうしたメリットが得られるという。

I/Oの種類を分類すると、EF550で高速化されたのはシーケンシャルI/Oがメイン

 岩本氏は、EF550で期待される効果として「ランダムリードが多いOLTPの場合、キャッシュヒット率を上げるために、がんばらなくてよい。データベースチューニングが必要ない。バッチ処理の場合は、テーブルフルスキャンの走る場合に遅くなるが、スループットの高いEF550であれば高速化できる」とまとめ、データベースに最適なストレージとアピールした。

■関連サイト

カテゴリートップへ

  • 角川アスキー総合研究所
  • アスキーカード