AppFabric Web ファームへのスケールアウト

AppFabric Web ファームの各サービス ノードには、Microsoft AppFabric 1.1 for Windows Server の機能がインストールされています。そのため、複数サービスのリソースを共有することで、負荷が増えても処理できます。AppFabric Web ファームの使用が推奨されるのは、運用環境において負荷の増大、高可用性、監視、および高い管理性という要件を満たすことが求められている場合です。概念上は、AppFabric サービス ホスティング階層をスケールアウトする大まかなアプローチは、次の図のように、Web ファームを作成するのと同じことです。

仮想 IP

複数サーバー Web ファーム環境に AppFabric をインストールする詳細な手順については、「Windows Server AppFabric Web ファーム ガイド」を参照してください。

スケールアウト パフォーマンス

ステートレス WCF および WF サービスでは、インスタンス化においてどのような種類の状態も維持されません。Microsoft が実施したスケールアウト パフォーマンス テストでは、ステートレスの WCF および WF サービスについては AppFabric のスケール アウトが直線的であることが判明しています。つまり、AppFabric Web ファーム上のノード数を 2 倍にするとスループットも 2 倍になり、一方でサービス応答時間 (遅延) は一定に維持されます。次のグラフは、スケールアウトの特性を示しています。

1 秒あたりのスループット呼び出し 呼び出しの遅延

上のグラフでは、Y 軸の縮尺と単位は各サービスのロジックと実装によって変わります。

スループット グラフの場合、スケールアウトでほぼ直線的にスループットが増えています。ステップ負荷テストの特定の時点で、1 台のサーバーから 2、4、最終的には 8 台まで増やすごとに、スループットは倍増しています。同時に、遅延は変わりません。

ただし、AppFabric 永続化ストアを使用して状態を保存する、永続的な WF サービスの遅延グラフでは、スケールアウトは直線的ではありません。具体的な特性は、永続化ポイント数、関連付けの数と複雑さ、ワークフロー状態の規模など、多くの要素によって変わります。また、ワークフローの実装によっても変わります。各ワークフロー サービスのスケールアウトの特性を適切に理解するために、実際のワークフロー サービス実装を使用してスケールアウト ラボを実行することが推奨されます。

パフォーマンス テストの結果から、永続的な WF サービスを 8 ノードの AppFabric Web ファームで実行したときに、永続化データベース内でディスク I/O およびデータベースのロックによる競合が発生することがわかっています。ステートレスまたは非永続的なワークフローの場合、この競合は発生しません。中間層をスケールアウトすることでスループットを向上しようとする場合、競合は制限要素になります。次のグラフでは、永続的なワークフロー サービス (赤い棒) と、機能的には同等で永続的ではないワークフロー サービス (青い棒) のスケールアウト パターンを比較しています。

スループットおよび保持ポイント データ

このドキュメントの「データ記憶域の階層」では、永続化がスループットに及ぼす影響を軽減するためのガイドラインと手法を紹介しています。

  2012-03-05