NetApp Tech OnTap NetApp Logo NetApp Logo
NetApp Tech OnTap
     
【検証結果から理解するネットアップのフラッシュ技術】
第4回
Flash CacheとFlash Poolの特徴(詳細編)~キャッシュ ヒット率とキャッシュの永続性にご注意を!!~
シェアする NetAppオフィシャルFacebook

※前回(第3回)の次回予告で「Flash Poolの特徴を活用したデータベース統合の検証結果」のご紹介を予定していましたが、今回の内容(第4回)ではFlash CacheとFlash Poolの特徴について、より詳細な内容をご紹介したいと思います。

前回のおさらい

第3回「バーチャル ストレージ ティアの強み ~Flash CacheとFlash Poolの検証結果~」の検証では、オンライン ショッピング サイトの同時ユーザ数を増加させていくことで、Flash CacheとFlash Poolの特徴を確認しました。

  

Flash CacheまたはFlash Poolの使用はデータベース システムにおけるI/Oボトルネックを改善し、スループットを向上する効果があることを確認できました。また、Flash PoolによりSSDが書き込みキャッシュとして活用され、書き込み処理の負荷がHDDからSSDにオフロードされたことが伺えます。

詳しくは第3回の内容をご参照ください。

書き込み比率の増加に伴う性能とリソース使用率への影響(キャッシュ ヒット率が約100%の場合)

本検証では、書き込み処理を含むTX2の比率を増加させていくことで、Flash Cacheを使用した構成とFlash Poolを使用した構成の性能差、およびサーバ / ストレージ リソース使用率の傾向を確認しました。使用した負荷の設定は以下の通りです。

  • オンライン ショッピング サイトを想定したOLTP系のワークロード
  • ユーザ数 = 800ユーザ
    • 前回(第3回)の検証結果において、限界性能に達する手前のユーザ数を選択
  • トランザクションの比率は以下の5種類
    • TX1(読み込みのみ):TX2(読み込みと書き込み)= 100:0
    • TX1(読み込みのみ):TX2(読み込みと書き込み)= 75:25
    • TX1(読み込みのみ):TX2(読み込みと書き込み)= 50:50
    • TX1(読み込みのみ):TX2(読み込みと書き込み)= 25:75
    • TX1(読み込みのみ):TX2(読み込みと書き込み)= 0:100
  • Flash Cache、Flash Poolにおけるキャッシュ ヒット率は約100%
    • キャッシュ領域のウォームアップを事前に実施済み

次のグラフは、書き込みを伴うTX2の比率を増加した場合の、スループットとデータベース サーバCPU使用率の傾向(図1)と、ストレージのCPU使用率の傾向(図2)、HDDおよびSSD使用率の傾向(図3)です。

TX2比率の増加に伴うスループットとDBサーバCPU使用率の傾向

図1. TX2比率の増加に伴うスループットとDBサーバCPU使用率の傾向

TX2比率の増加に伴うストレージCPU使用率の傾向

図2. TX2比率の増加に伴うストレージCPU使用率の傾向

TX2比率の増加に伴うHDD、SSD使用率の傾向

図3. TX2比率の増加に伴うHDD、SSD使用率の傾向

本検証結果では、Flash Cacheを使用した構成とFlash Poolを使用した構成の間に、大きなスループットの差は確認できませんでした。しかしながら、Flash Cacheを使用した構成は、書き込みを伴うTX2の比率の増加に伴いHDDがボトルネックになっているに対し、Flash Poolを使用した構成は、書き込み処理の負荷がHDDからSSDにオフロードされ、いずれのリソースもボトルネックになっていません。そのため、Flash Poolを使用した構成は、SSD使用率が限界値に達するまで、スループットが向上する余地があったと言えます。

(考察)本検証結果(図2のTX1:TX2 = 100:0、TX1:TX2 = 75:25のケース)から、Flash Cache使用時のストレージCPUのオーバーヘッドはFlash Pool使用時より低いと言えます。

書き込み比率の増加に伴う性能とリソース使用率への影響(キャッシュ ヒット率が約90%の場合)

実際のシステムでは常時新しいデータが生成され、フラッシュ領域に対するキャッシュ イン処理が行われます。システムが扱うデータ量の肥大化が課題となっている近年においては、キャッシュ インが必要なデータ量も増加する傾向にあります。

キャッシュ ヒット率を100%に近づけることが困難であるこのような環境を想定し、本検証では、測定中に新規データをキャッシュ インし続け、平均のキャッシュ ヒット率を約90%に調整し、HDDからの読み込み(キャッシュ ミス)を発生させました。そのような環境において、書き込みを含むTX2の比率を増加させていくことで、Flash Cacheを使用した構成とFlash Poolを使用した構成の性能差と、サーバ / ストレージ リソース使用率の傾向を確認しました。

使用した負荷の設定は以下の通りです。

  • オンライン ショッピング サイトを想定したOLTP系のワークロード
  • ユーザ数 = 800
  • トランザクションの比率は以下の5種類
    • TX1(読み込みのみ):TX2(読み込みと書き込み)= 100:0
    • TX1(読み込みのみ):TX2(読み込みと書き込み)= 75:25
    • TX1(読み込みのみ):TX2(読み込みと書き込み)= 50:50
    • TX1(読み込みのみ):TX2(読み込みと書き込み)= 25:75
    • TX1(読み込みのみ):TX2(読み込みと書き込み)= 0:100
  • Flash Cache、Flash Poolにおけるキャッシュ ヒット率は約90%

次のグラフは、書き込みを含むTX2比率の増加に伴うスループットとデータベース サーバCPU使用率の傾向(図4)と、ストレージのCPU、HDD、SSD使用率の傾向(図5、図6)です。

TX2比率の増加に伴うスループットとDBサーバCPU使用率の傾向

図4. TX2比率の増加に伴うスループットとDBサーバCPU使用率の傾向

TX2比率の増加に伴うストレージCPU使用率の傾向

図5. TX2比率の増加に伴うストレージCPU使用率の傾向

TX2比率の増加に伴うHDD、SSD使用率の傾向

図6. TX2比率の増加に伴うHDD、SSD使用率の傾向

Flash Poolを使用した構成の場合はSSDがボトルネックになっていますが、ストレージCPUも限界値近くに達しており、両方のリソースを最大限活用できていることが分かります。一方、Flash Cache構成では、書き込みを伴うTX2の比率の増加に伴いHDDがボトルネックになり、データベース サーバのCPU、ストレージCPUともに使い切ることができませんでした(図4、図5、図15のTX1:TX2 = 50:50、TX1:TX2 = 25:75、TX1:TX2 = 0:100のケース)。

書き込み処理の負荷がHDDからSSDにオフロードされるFlash Pool構成では、SSDの性能を最大限引き出すことで、より高いスループット値を記録するとともに、HDDの使用率を低く抑えられる事が確認できました。

(考察)書き込みを伴うTX2の比率が少なければ、Flash Cacheを使用した構成のHDDがボトルネックになりませんでした。その結果、Flash Poolを使用した構成より高いスループット値を記録しました(図4のTX1:TX2 = 100:0、TX1:TX2 = 75:25のケース)。書き込みを伴うTX2の比率が多いケース(図4のTX1:TX2 = 50:50、TX1:TX2 = 25:75、TX1:TX2 = 0:100のケース)であっても、HDDスピンドル数を十分に搭載した環境であれば、Flash Cacheを使用した構成のHDDボトルネックが改善されると考えられます。その結果、Flash Poolを使用した構成より高いスループット値が期待できます。

ネットアップのVirtual Storage Tierが実現したキャッシュの永続性

一般的に、フラッシュ デバイスを活用したキャッシュ機能は、S/WやH/Wの再起動によってキャッシュされたデータが無効化されます。フラッシュ デバイス自体は不揮発性のデバイスですが、そのキャッシュ上のデータを管理するメタデータが揮発性のメモリ上で管理されているためです。これはネットアップのFlash Cacheでも同様です(ストレージの再起動および計画停止時に、キャッシュされたデータが無効化されない設定がData ONTAP 8.1.1から追加されました)。一方、Flash Poolはメタデータを不揮発性のSSD上で管理しているため、計画停止時やストレージシステムの障害などによる計画外停止時もキャッシュされたデータが無効化されません。

フラッシュ デバイスを活用したキャッシュ機能は、その機能の有効化によって性能が向上すればするほど、何らかの原因で機能が無効化された場合の性能劣化に大きく影響します。それに対して、計画停止時のみならず障害時もキャッシュされたデータが無効化されないFlash Poolは、エンタープライズに相応しい可用性を誇り、多くのケースにおいて優位なソリューションであると言えます。

Flash CacheとFlash Poolの特徴のまとめ

また、Flash Poolは、本検証で使用したミッドレンジ モデルのFAS3270のほか、エントリクラスモデルのFAS2200シリーズから使用可能な機能であり、比較的安価に導入できます。

アグリゲート単位のキャッシュとなるFlash Pool内のSSDはRAID-DP(またはRAID 4)で構成する必要があるため、可能な限り多くのHDDとSSDを1つのアグリゲートでプール化することでH/Wリソースの使用効率を最大化できます。

一方、多数のアグリゲートが存在し、Flash Poolで使用するSSDを複数のアグリゲートに分散しなければならない環境においては、Flash Poolの効率性が減少します。このような環境においては、ストレージ システム全体のキャッシュ ソリューションであるFlash Cacheが有効であると言えます。

システムが扱うデータ量の肥大化が課題となっている近年においては、キャッシュ インが必要なデータ量も増加する傾向にあります。Flash Cache、Flash Pool使用時も、キャッシュ ヒット率を100%に近づけることが困難であるこのような環境では、高負荷時、キャッシュ ミスによるHDDアクセスがボトルネックにならないようにHDDスピンドル数は多めに搭載することも重要です。

次に、Flash Cache、Flash Poolの特徴をまとめた表(表1)を示します。

Flash Cache Flash Pool
対応ワークロード ランダム読み込み ランダム読み込み
ランダム書き込み
(上書き)
※シーケンシャルI/OとランダムI/OをData ONTAPが自動判別
キャッシュの適用範囲 コントローラ単位 アグリゲート単位
キャッシュの永続性 永続
(ストレージの計画外停止時は 非永続)
永続
(ストレージの計画外停止時 も永続)
使用可能
プラットフォーム
(現行ラインナップ)
ミッドレンジ クラスから搭載可能
(FAS3200シリーズから)
(FAS3210はサポート対象となる構成が限られます)
エントリクラスから使用可能
(FAS2200シリーズから)
備考 複数のアグリゲートに対して キャッシュを有効化したい場合はFlash Cacheが効率的 できるだけ多くのHDD、SSDリソースを1つのアグリゲートに集約

表1. Flash Cache、Flash Poolの特徴

次回の内容

次回は、書き込み処理の負荷がHDDからSSDにオフロードされるFlash Poolの特徴を活用し、OLTPだけではない、DWH / BI系のデータベース統合の検証結果をご紹介したいと思います。

jp-201307-flash-page

岩本 知博(いわもと ともひろ)
システム技術本部 パートナーSE部 システムズ エンジニア
ネットアップ株式会社




会津大学大学院 コンピュータ理工学研究科卒、外資系データベース メーカを経て2012年パートナーSEとして入社。入社以来、パートナー支援とフラッシュ ソリューションおよびデータベース ソリューションを中心に活動。

関連情報
関連情報
【検証結果から理解するネットアップのフラッシュ技術】
第1回:フラッシュ技術をリードするネットアップの
ポートフォリオとその棲み分け


第2回:バーチャル ストレージ ティアとオール
フラッシュ アレイでオーバーサイジングを解決

第3回:バーチャル ストレージ ティアの強み
~ Flash Cache と Flash Pool の検証結果~
関連情報
 
 
Go further, faster TRUSTe
お問い合わせ   |   購入方法   |   フィードバック   |   採用情報  |   登録   |   プライバシーポリシー   |   © 2013 NetApp