株式会社ネットワールドのエンジニアがお届けする技術情報ブログです。
各製品のエキスパートたちが旬なトピックをご紹介します。

高速化レイヤアーキテクチャとI/Oのリクエスト

本ブログエントリーはPernixData社のテクノロジーエバンジェリストであるFrank Denneman氏のブログの翻訳版です。

本記事の原文はAcceleration layer architecture and I/O requestで閲覧可能です。
ネットワールドのPernixDataに関する情報はこちら

PernixData FVPやVMware vFlash Read Cacheをインストールする際、あなたは高速化レイヤを導入しようとしています・・・(ドラムロール)・・・つまりデータの高速化です。明らかなことなのですが、これについて検証をする際に気に留めておくべきことがあります。これについて従来のアーキテクチャと新しいアーキテクチャを確認しながら始めていきましょう。

従来の中央集中型のストレージシステム

つい最近まで仮想化インフラストラクチャを設計する際に、ストレージシステムは2つの異なる要素についてのサイジングを求められてきました。データサービスとI/Oのパフォーマンスです。まずはこのレイヤを検証してみましょう。お気に入りのパフォーマンスツールを起動し、ワークロードのシミュレーターを選択し、検証を行います。IOmeterを例に使ってみましょう。IOmeterの場合、ドライブとファイル(IObw.tst)を永続データレイヤ内に用意します。この永続データレイヤはストレージアレイによって提供されるデータストアです。このファイルに対してのすべてのリードとライトは実際のアプリケーションによってアレイに対して発行されるのと似たようなパターンのパフォーマンスを期待することが出来ます。

以下のシナリオの場合、IOmeterはランダムなリードの検証を行います。IOmeterはドライブを準備し、Iobw.tstファイルからランダムなブロックのリードを開始します。VMはブロックA,C,Bという順で3つのブロックを読み込みます。レイテンシを計測する場合、1つのI/Oリクエストにどれだけの時間がかかったかを計測するか、多くのI/Oリクエストが完了した後に平均を取ることで簡単に計測することが可能です。

Fig9_2

高速化プラットフォームの検証

同じ検証を高速化プラットフォーム上で行った場合に何が起こるか見てみましょう。

Fig10_3

高速化レイヤからのメリットは受けられていますか?検証がデータを1回しか読まないような検証の場合、パフォーマンスの劣化が出てしまうはずです。パフォーマンスの劣化でショックを受けるだけでなく、これはデータを高速化していないばかりか、I/Oの完了までにデータの書き込みを生じさせてしまっています。根本的にこれはデータアクセスを高速化していないだけでなく、再利用することのないデータを動かしてしまうことによって、無駄な動作を増やしてしまっています。無駄な書き込みについて、詳しくは「FVPのWrite-BackとWrite-Throughポリシー」の記事を参照してください。

冒頭の段落の文はちょっとだけ書き換える必要があります。すなわち「高速化プラットフォームは書き込み(FVP)と2回目以降の読み込みを高速化する」ということです。こうなってくると、読み取りのパフォーマンス検証のアーキテクチャについて標準のパターンを変更する必要があります。アプリケーションが同じデータを複数回読み込むことを確認しなくてはなりません。これによって実際のアプリケーションのシナリオをシミュレーションできます。IOmeterを非難しようというのではなく、FVPは実際のアプリケーションのパフォーマンス要求に最適化されているのです。

Fig11_2これが我々が実際のアプリケーションでの検証をおすすめする理由です。実際に利用しているアプリケーションを実際に利用している環境で検証してみてください。アプリケーションのオーナーと話をし、ボトルネックを見つけましょう。利用しているアプリケーションを利用しているアプリケーションプラットフォーム上で検証することでデータがアプリケーションのそばにあることのメリットを実感できることでしょう。

どうしても、IOmeterを利用したい場合にはプラットフォームを暖気して、同じテストを2回以上実行することをオススメします。これによってIobw.tstファイルのより多くの、もしくはすべてのデータがフラッシュリソース上に格納され、すべてのデータアクセスがストレージアレイまで下がっていくことなく、フラッシュまでのアクセスで検証することが可能になります。加えて、Iobw.tstファイルのサイズを調整してストレージコントローラのキャッシュからではなく、ディスクから直接アクセスされるようにするべきです。実際のパフォーマンスをシミュレーションしたい場合には全てのデータがストレージコントローラコントローラーのキャッシュから提供されることを期待してはいけません。

すぐにCheathan氏がもっと詳しいIOmeterについての最初の記事を公開すると思います。この記事が公開され次第、本記事もリンク先を更新します。

記事担当者: マーケティング本部 三好哲生 (@pernixdata_netw)