10Gb の NIC を使用したAVANCE のパフォーマンス
Last Modified: 06/2/2016 at 18:24 | Release:Table of Contents
エグゼクティブ・サマリ
ストラタスは、Avance ソフトウェア・リリース R2.1より 2 台の Avance PM 間のデータ同期リンク用に 10Gigabit Ethernet の NIC のサポートを実装しています。Avance は、それぞれの PM に接続されたローカル・ストレージ間でゲスト OS (VM) のデータを複製することにより、データの一貫性を保証します。ノード間でのデータ複製に要する時間は、ゲスト OS が実行する各 I/O オペレーションを完了するために必要な総時間に影響を及ぼします。パフォーマンスを向上させるためには、複製されたデータの伝送時間を短縮することが求められます。ディスク・サブシステムの総スループットが複製用リンクの帯域幅を上回っている場合、この複製用リンクがパフォーマンスのボトルネックとなる可能性があります。本書では、より高速な複製用リンクがどのような条件下でパフォーマンスの改善につながる可能性が高いか説明します。また、お使いの Avance システムに 10Gb のネットワーク・カードをインストールすべきか、お客様が判断する際にご利用戴ける指標も提示しています。
I/O 読み取りパフォーマンス
Avance はローカル・ディスクから I/O 読み取りを実行するので、通常は読み取った I/O データを複製用リンク上で送信することはありません。このため、10Gb の複製用リンクをインストールしても読み取りパフォーマンスには影響しません。
復旧、インストール、インポート、同期の各オペレーションにおけるパフォーマンスの強化
ディスク・サブシステムが 1Gb のプライベート・リンクを上回る書き込みスループット (~ 100MB/秒) をサポート可能な場合、特定のオペレーションではより高速な複製用リンクを導入することでパフォーマンスの向上が期待できます。データベースのリストア、ソフトウェアのインストール、大規模データのコピーなど、大量でシーケンシャル、そして継続的な書き込みを伴うオペレーションが、これに該当します。同様に、Avance の物理ノードの電源を落とした後にプライマリ・ノードとの再同期が必要な場合、10Gb の複製用リンクではこの再同期オペレーションが最大で 10 倍高速に処理されます。また、Avance が稼動中の VM をノード間で移行する必要が生じるフェイルオーバも、より高速なリンクによってメリットが生まれるオペレーションのひとつです。これは、移行トラフィック (プライマリの 1Gb プライベート・リンク上でデータが移行します) は 10Gb の複製用リンク上を流れる複製トラフィックと競合しないためです。さらに、10Gb の Ethernet カードを使用することでシステム・ハードウェアの冗長性も向上します。Avance はデータの複製に 1 つ以上の 10Gb ポートを使用しており、1 つのリンクに障害が発生した場合にはリンク間でフェイルオーバするためです。
パフォーマンスの分析
スループットに対する I/O サイズの影響
高速の複製用リンクがアプリケーションのパフォーマンス向上に寄与するかどうかは、ディスクの I/O 書き込みの総スループットに加え、I/O オペレーションのサイズと量も大きく影響します。一般的に、継続的な書き込みは小規模のランダムなオペレーションに比べて効率良く実行されます。これは、ネットワークでの複製を実行する際に発生するレイテンシは、小さな I/O ブロック・サイズに比べて大きな I/O ブロック・サイズの方が解消率が高く、またデータの伝送時間が総 I/O 複製時間の大部分を占めるためです。
ブロック・サイズが小さく (8KB)、各書き込みの完了後に次の書き込みを開始するデータベースなどのアプリケーションは、例えばファイル・サーバなどのパイプライン化されたオペレーションを実行するアプリケーションに比べて、複製におけるレイテンシの影響を大きく受けることになります。複製におけるレイテンシは、実際にデータがワイヤ上で伝送されるために要する時間と、ゲストとホストのオペレーティング・システム、そしてプロトコルのスタックをデータが移動する時に発生するオーバーヘッドを加えたものになります。I/O サイズが小さい場合、データの伝送時間はレイテンシ全体のほんの一部でしかないため、高速なネットワーク・リンクによって得られるメリットは小さくなります。
10Gb のリンクをインストールすることのメリットについて、ストラタスは数種類のテストを実施しました。もっともシンプルなテストは、1 台の VM 上で dd ユーティリティを使って行う簡単な書き込み I/O のテストです。下のグラフは、このテストを何度か実行した結果を示しています。それぞれの色の線は、各ブロック・サイズで実行した書き込み I/O で得られた総スループットを示しています。このテストは、1Gb、10Gb そしてシンプレックスの各リンクを使用して実行されました。このケースでは、「シンプレックス」 とは 一方の Avance ノードの電源がオフ状態で、I/O パスから完全にデータ複製を除外している状態を意味しています。 (当然ながら、1 つのノードしか稼動していないため VM とそのデータの高可用性は保たれていません。このため、本設定は現実的には推奨されませが、速度の向上の 実効的な 「上限」 を明示しており、非常に高速な複製オペレーションであるとみなすことができます。SQL Server のワークロードでのテストでは、Avance のシンプレックス・モードでのパフォーマンスがベアメタル型の仮想化の 90% から 95% にまで迫っていることを示しています。) 1Gb リンクの I/O スループットの理論上の上限は、約 100MB/ 秒であることに留意します。実際、1Gb リンクのテストでは、1 台の VM がこの最大理論値の約 75% のスループットを達成しています。
以下のグラフで示しているデータから、いくつかの結論を見出すことができます。まず、8KB 以下の I/O ブロック・サイズでは、1Gb と 10Gb のリンクのパフォーマンスに大きな違いはありません。16KB のブロック・サイズになると、10Gb リンクの効果で著しいパフォーマンスの向上がみえはじめます。またこのグラフでは、10Gb リンクの効果で大幅にパフォーマンスの向上がみられる I/O の総帯域幅を確認するという別の読み方も可能です。35MB/ 秒 (下側にある水平の境界線) 以下では、1Gb と 10Gb のリンクのパフォーマンスに大きな違いはありません (1Gb の紫色のグラフが水平の境界線を越える箇所に注目します)。50MB/ 秒以上になると、10Gb リンクのパフォーマンスは約 2 倍の向上がみられます。
複数の VM によるパフォーマンスのスケーリング性能の向上
お客様によっては、単体の Avance システム上でパフォーマンスの影響を受けやすいアプリケーションを 1 つ以上実行している場合があります。このような場合に関心が集まるのは、複製用リンクのアップグレードによってアプリケーションの総合的なパフォーマンスが向上するかどうかということです。以下の表は、4 つの Windows VM におけるファイル・コピーのテスト、そして 5 つの Windows VM におけるファイル作成テストの結果を示しています。
テスト内容 | 4 つ の VM でのファイル・コピー | 5 つ の VM でのファイル作成 |
---|---|---|
1 Gb | 85 MB/秒 | 95 MB/秒 |
10 Gb | 140 MB/秒 | 441 MB/秒 |
4 つの VM 上での 10Gb リンクを経由したファイル・コピーのテストでは、1Gb リンクを経由した同じテストに比べパフォーマンスが向上していることがわかります。VM の数がさらに多い場合、10Gb リンク経由のファイル作成テストでは、書き込みパフォーマンスが1Gb リンク経由の場合の最大 100MB/ 秒という数値を大きく越えて、継続的に向上します。この結果は、より高速な複製用リンクを導入することで複数の VM を稼動しているシステムにどのようなメリットが生まれるかを示しており、システムが現在の構成における 1Gb リンクの大部分の帯域幅を飽和状態になるまで活用できることが推測されます。また、5 つの VM が書き込み負荷の高いオペレーションを実行中の場合であっても、ゲストが使用する 10Gb リンクの帯域幅は全体の半分にも満たないこともわかります。つまり、複製用リンクはもはやシステムのパフォーマンスのボトルネックではなくなったことになります。
展開されているシステムからデータを収集する
より高速な複製用リンクが特定のシステムにパフォーマンスの向上をもたらすかどうかを予測するためには、稼動中のシステムから統計データを収集する必要があります。すでに Avance を稼動中、あるいはベンチマーク評価中のお客様は、Avance の U/I での統計の確認からはじめることをお勧めします。[Storage Groups] ページの [Statistics] タブに移動すると、共有ミラーそれぞれにおけるディスク書き込みの総帯域幅を確認することができます。すでに述べたように、読み取り I/O は複製用リンクに影響を与えないため、[Disk Read] のチェックボックスがチェックされていないことを確認してください。共有ミラーそれぞれで得られた値を合計することで、10Gb リンクの使用でシステムのパフォーマンスが向上すると考えられるだけの十分な複製トラフィックが生成されているかどうか、判断することができます。
VM におけるアプリケーションの I/O 統計データの確認
現在ベアメタル型の仮想化環境で実行中のアプリケーションを、Avance 上に実装することを計画している場合、実行中のアプリケーションの I/O 統計データを詳しく調べることで、どの特定のアプリケーションが 10Gb リンクのメリットを享受できるか判断することができます。I/O 統計データを収集するためには、以下の図で説明するように Windows Performance Monitor を利用します。ストラタスでは、以下の統計の平均値と最大値を取得することを推奨します。
システムが標準的な負荷のピーク状態の時にパフォーマンス・カウンターの数値を取得してくたさい。複数の VM が類似のアプリケーションの統計データを共有している場合は、1 つの VM に対するデータを取得して、その数値に類似の VM の数を掛けるだけで十分でしょう。VM に異なるアプリケーションの統計データがある場合は、VM それぞれのパフォーマンスの数値を取得する必要があります。これで取得したデータを活用し、以下の計算と比較が可能になりました。
ディスクの書き込み I/O スループット
すべての VM における秒あたりのファイル書き込みバイト数の合計として、ディスクの総書き込み I/O スループットを算出します。この数値が 35MB/ 秒を上回っている場合は、10Gb リンクをインストールすることでパフォーマンスの向上が期待できます。
ディスクの平均書き込み I/O ブロック・サイズ
また、特定の VM における書き込み I/O ブロック・サイズの平均値は、秒あたりのファイル書き込みバイト数を秒あたりのファイル書き込みオペレーションの数で割って算出します。この値を 16KB と比較します。書き込みブロック・サイズの平均値が 16KB よりも大きい場合、パフォーマンスの向上がみられる可能性が高いといえます。書き込みブロック・サイズの平均値が 8KB に満たない場合は、10Gb リンクが VM 上のアプリケーションのパフォーマンスを向上する可能性は少ないといえます。平均書き込みブロック・サイズが 8KB と 16KB の間の場合、このアプリケーションのパフォーマンスは向上する可能性がありますが、確実とはいえません。 (アプリケーションはより大きなブロック・サイズで書き込みを実行する可能性がありますが、Avance ソフトウェアはその書き込みを断片化するため、確実にパフォーマンスの向上がみられると判断することはできません。) より多くの VM が実装されるに伴い、小規模ブロックの書き込みによってアプリケーションのパフォーマンスが特徴付けられる可能性が高まります。
データベース・アプリケーション
データベースを実行しているお客様において、より高速な複製用リンクによってデータベースの処理が加速するかどうかは、使用しているシステムの I/O 統計データによって判断します。10Gb リンクがアプリケーションのパフォーマンスを向上するかどうかもっとも簡単に予測する方法は、1Gb リンクによる現在の 複製用リンクの使用量を調べることです。
例: SQL SERVER、および 6 つの VM の場合
以下のグラフは 6 つの VM 上で SQL Server を実行しており、10Gb リンクを使用した Avance システムのディスク I/O の挙動を示しています。18:05 から 18:10 の間に発生している最初の I/O のピークは、1GB のデータベースをリストアすることで発生しています。18:20 以降の期間の I/O は、データベースがクエリに応答していることを示しています。このシステムでは、データのリストア中により高速の複製用リンクを有効活用できることが明らかです。1Gb リンクでは、I/O 帯域幅が約 75MB/ 秒程度まで抑制されてしまうことになり、このリストア・オペレーションの所要時間はおそらく 2 倍になってしまう可能性があります。しかし、安定した使用状態ではこのアプリケーションは激しい I/O トラフィック・パターンを発生しないため、そのような状態ではより高速なリンクによるメリットは発生しません。また、安定的なオペレーションの時の平均書き込みブロック・サイズは 8KB であることがわかっており、このことからもより高速なリンクによってアプリケーションの処理が加速される可能性は低いといえます。1Gb リンクを使用したこの構成におけるテストでは、より高速のリンクによる安定的なオペレーションの大幅なパフォーマンス向上はみられないことがわかりました。
結論
Avance システムに 10Gb の複製用リンクを実装することで、ゲストのソフトウェアのインストール、再同期、そしてフェイルオーバがより高速に処理されます。大型ファイルのコピー、データベースのリストア、またはその他の継続的な書き込み負荷の高いオペレーションを除き、10Gb の複製用リンクによってアプリケーションのパフォーマンスが向上するかどうかを予測するためには、システムの I/O 特性を確認する必要があります。10Gb リンクによるパフォーマンス向上が可能か確信がもてないお客様は、Avance と Windows における I/O 使用量の統計データを確認し、本書で示しているガイドラインを参考にしてください。10Gb の複製用リンクをインストールすることで特定のシステムのパフォーマンスが向上するかどうか予測するためには、すべての共有ミラー全体の書き込み I/O 帯域幅を総計する、または Windows OS レベルで類似のデータを取得することが、もっとも信頼性の高い指標となります。判断基準をシンプルにするために、以下の表をガイドラインとして使用することができます。共有ミラーの I/O スループットの総計として取得した数値に基づいて、お使いのシステムの現在の使用状況が、以下の表の「緑」、「黄」、「赤」 のどのゾーンに該当するか確認してください。
スループット | ゾーン | 10Gb リンクがアプリケーションのパフォーマンスを向上する可能性 |
---|---|---|
35MB/ 秒以下 | 緑 | 低い |
35 ~ 50MB/ 秒 | 黄 | 可能性はありますが確実とはいえません |
50MB/ 秒以上 | 赤 | 高い |
*日本語版最終更新日:2012/10/2