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

PernixData FVPで実際のSQLのワークロードを高速化

本ブログエントリーはPernixData社のシステムズエンジニアであるPeter Chang氏のブログ記事を翻訳しています。 Peter氏はネットワールドのプリセールス活動をサポートしてくださっている担当エンジニアでもあります。

本記事の原文はAccelerating Real World SQL Workloads with PernixData FVPで閲覧可能です。

ネットワールドのPernixDataに関する情報はこちら。本ブログのPernixDataの記事のまとめはこちら

様々な高速化ツールをIometerや他の実際のパフォーマンスを再現するツールを使って検証するのもおもしろいことです。ですが、このシリーズでは本稼働環境で実際に実装されている標準的なエンタープライズアプリケーションにおけるグラフを投稿していこうと思っています。今回はMS SQLサーバです。

利用している環境はDell M620ブレードサーバが8ノードあり、それぞれESXi 5.0 Update 2がインストールされています。ネットワークは10Gbで、ストレージとはFCで接続されています。バックエンドのストレージ装置は大体250本(FC, SAS, SATAのディスクが組み合わさっています)のスピンドルでこうせいされており、だいたい35,000~40,000IOPSぐらいの性能を提供できます。PernixData FVP 1.0が400GBのIntel S3700 SSDドライブを各ホスト1本ずつで構成されており、200台にちょっと届かないぐらいの仮想マシンがWrite-Back(WB)と冗長化のレプリカを2つで構成されています。特定のワークロードのみを選んで高速化することもできたのですが、FVPはクラスタ内のすべてのフラッシュをプールし、冗長性を提供できる(ですから、もっと容量の大きな安いMLCフラッシュドライブも利用できます)ので、ほとんどすべての仮想マシンを高速化することにしました。しっかりとどの仮想マシンがフラッシュを使うのか選択する場合ほど仮想マシン毎のパフォーマンスの向上は大きくありませんが、こうすることで少ない数のアプリケーションだけでなく、すべてのアプリケーションがメリットを受けることができます。

サーバ名はそれぞれどんなアプリケーションがメインで動いているかをわかりやすくするために変更してあります。

MS SQL Server 1

概要: SQL Server 2008R2 Stdが動作しているWindows Server 2008R2 Std

このSQLサーバはOracleのPeopleSoftの複数の開発/検証環境のバックエンドとして動作しており、様々なデータベースが格納されています。パープルのラインはデータストアのレイテンシを表しており、低い時は2ミリ秒ととても良いのですが、悪い時は16ミリ秒とさほど良いとは言えない値で変動しています。オレンジのラインは一貫して1ミリ秒未満をたもっています、そしてブルーのラインはー2つのWriteのレプリケーションを含めたー仮想マシンから見た際の実行レイテンシを表しており、1.5ミリ秒あたりを推移しています。このグラフは午後の1時間の時間範囲でのものであることに注意してください。バックアップ時の集中時の後の数時間はほとんどこのようなパターンです。夜間のSQLのバックアップはフラッシュ内にキャッシュされており、バックアップを高速化することができるのです。

レイテンシ:

Fig288SQL Server 1のデータストアレイテンシ 1時間

比較のため、以下に別のアプリケーション層や「ファットクライアント」やブラウザベースのクライアントなどを含む多くのアプリケーションのためのSQLサーバのレイテンシのグラフをお見せします。

MS SQL Server 2

概要: SQL Server 2008R2 Stdが動作しているWindows Server 2008R2 Std

上の例と同様に、データストアのレイテンシは2~3ミリ秒ーとてもいいーと13~20ミリ秒の間を行き来しています。65ミリ秒というところもありーとても悪いーです。しかし、フラッシュのレイテンシは一貫して1~2ミリ秒の間にあり、実行レイテンシもーWriteのレプリケーションを含めてもー1.5~2、時々のスパイクがあっても悪くとも10ミリ秒未満です。スパイクが発生しているときはキャッシュされていないデータを後ろのデータストアに読みに行っていることが考えられます。

レイテンシ:

Fig289SQL Server 2のデータストアのレイテンシ 1時間

上の例は中規模のエンタープライズでの本番環境の実際のMS SQLサーバのワークロードです。各々のESXiホスト上の小さなフラッシュとPernixData FVPを活用して、どれだけ環境が改善するかをよく表しています。これらのグラフは営業時間の終わりぐらいに取得されたもので、短時間に多くの従業員が一斉に環境にアクセスする日中では同程度か、更に大きな改善がみられたことを付け加えておきます。大きなメリットはレイテンシが定常的に高くなり長時間それが続くバックアップウィンドウ中も続いています。この実装のあと、レイテンシが高いのは他の2つのクラスタにある高速化されていない仮想マシンだけになりました。できれば来年にもこれらのクラスタをFVPで治療することを考えて欲しいところです。

さて、次も他のエンタープライズアプリケーションの実装を投稿していきます。お楽しみに。

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