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

FVPのモニター機能を使って、アプリケーションのパフォーマンスを調べる

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

本記事の原文はInvestigate your application performance by using FVP monitor capabilitiesで閲覧可能です。
ネットワールドのPernixDataに関する情報はこちら

「ストレージパフォーマンスの検証方法は高速化プラットフォームを正しく検証できるのか?」という記事の中で、私は高速化プラットホームを評価する際にはアプリケーションの振る舞いを明らかにすべきであるということを推奨しています。アプリケーションの肝となる部分まで深く潜り込んでいったり、コマンドラインツールの山に手を出すでもなく、様々な記録ツールに試すことなく、これを実現するにはどうしたら良いでしょうか?FVPソフトウェアがあるならば、FVPをモニターとして利用することができるのです。

FVPのモニター機能

現在のストレージのパフォーマンスのレベルと新しい加速されたパフォーマンスのレベルを比較する必要があると考えるでしょう。そして、FVPソフトウェアは情報を一つの一貫したパフォーマンスグラフとして提供するように設計されています。FVPのモニター機能はアプリケーションをストレージ上でネイティブに動作させた時と、FVPで高速化させた時の違いを簡単に比較できるようにしています。

Fig57どのようにFVPのモニター機能を使うのでしょうか?単に、FVPのクラスタを作成し、フラッシュリソースをそれに割り当てなければいいだけです。FVPソフトウェアはFVPクラスタのメンバーである仮想マシンのI/Oを捕まえて表示することができるのです。

モニター用のFVPクラスタを作成する

FVPを仮想アーキテクチャにインストールする最初のステップはカーネル拡張モジュールソフトウェア(vibパッケージ)をvSphereクラスタ内のESXiホストにインストールすることです。次にPernixDataの管理ソフトウェアを任意のWindowsマシンへインストールします。vSphere WebクライアントのFVPクラスタメニューか、もしvSphereクライアントを利用しているのであればPernixDataタブへアクセスします。Create Clusterオプションを選択し、関しクラスタ名とその概要を入力します。最後にFVPソフトウェアがインストールされているESXiホストが参加しているvSphereクラスタを選択します。

Fig58これらのホストはフラッシュデバイスは搭載していますが、それらは別のFVPクラスタに割り当てられており、アプリケーションを高速化させています。モニタ用のクラスタを作成したら、サマリのページにこのクラスタがフラッシュデバイスを一切持っていないということが表示されます。今回の目的の場合、これでOKです。

Fig59次にすべきことは、調べたいアプリケーションが動作している仮想マシンを選択することです。今回の検証のために、私はvCenterサーバが動作している仮想マシンを使っています。

Fig60UI上はWrite-Policyが選択出来るようになっていますが、読み取りも書き込みも高速化されることはありません。当たり前ですが、このクラスタにフラッシュリソースがないからです。

アプリケーションを実行します。FVPは仮想マシンのレイテンシ、IOPS、そしてスループットを計測します。パフォーマンスの状況を見るためには仮想マシンを選択し、monitorタブを選択します。それからFVP Performance オプションを選択します。記事を短くするためにレイテンシのパフォーマンスのグラフだけを載せていますが、この機能を網羅的に解説したホワイトペーパーを近日中に公開します。

レイテンシのグラフは仮想マシンから見たレイテンシとデータストアのレイテンシを表示しています。仮想マシンからみたレイテンシは仮想マシン上でどれほど効果が出ているかということを表しています。フラッシュリソースが無いため、仮想マシンからみたレイテンシはストレージのレイテンシと完全に重なっています。ローカルフラッシュとリモートフラッシュについての計測は完全に0で一定しているので表示していません。

Fig61FVPはストレージアレイを直接利用した際のアプリケーションのパフォーマンスを表示することができています。上のスクリーンショット仮想マシンから見た際のレイテンシを表示しています。さらにFVPはIOPSとスループットも表示することが可能です。カスタム表示を作成することでユーザーは更にデータストアとフラッシュ、それぞれの読み取りと書き込みを掘り下げて見ていくことが可能です。

FVPクラスタがベースラインとしての直接のパフォーマンスを表示している今こそが、仮想マシンをフラッシュリソースを保持しているFVPクラスタへ移動させ、パフォーマンスの違いを確認する時です。

Fig62仮想マシンをFVPクラスタ間で移動させるためには移動先のFVPクラスタを選択し、「Add VMs...」オプションを選択します。標準でFVPのユーザーインターフェイスは他のFVPのクラスタに参加していない仮想マシンだけを表示します。vSphereクラスタ内のすべての仮想マシンを表示するためには左上のコーナーにある「Show all VMs」オプションを選択します。仮想マシン(今回はvCenter)を選択、適切なWriteーPolicyを選択します。

Fig63FVPがクラスタ毎、ホスト毎、仮想マシン毎のパフォーマンス履歴を残しているということも興味深いです。仮想マシンのレベルでFVPのパフォーマンスグラフを選択すると、FVPはどのFVPクラスタに所属していたかに関係なく、全ての取得したデータを表示します。

1:48でFVPクラスタ間の移動は完了し、パフォーマンスグラフは瞬時にレイテンシを向上させていることを示しています。仮想マシンから見た時のレイテンシはデータストアのパフォーマンスよりもフラッシュのパフォーマンスに近づいています。

Fig64データの上にカーソルを合わせることで、選択した計測結果を表示することが可能です。データストアのレイテンシが3~6ミリ秒であるのに対し、仮想マシンから見たレイテンシはミリ秒未満もしくはミリ秒レベルのレイテンシとなっています。

Fig65FVPのパフォーマンスグラフは直近の10分から過去1ヶ月すべてまで、様々な時間の範囲のグラフを表示することが可能です。

Fig66これらの異なる時間の範囲で表示することで、長期にわたる検証の結果を確認したり、加速されていないパフォーマンスについての詳細を確認したり、FVPプラットホームで加速された後のパフォーマンスの詳細を確認したりすることが可能です。

Fig67