Share via


SQL Server Distributed Replay

Microsoft SQL Server Distributed Replay 機能を使用すると、将来の SQL Server のアップグレードによる影響を評価できます。 また、ハードウェアとオペレーティング システムのアップグレード、および SQL Server のチューニングの影響を評価する場合にも使用できます。

Distributed Replay の利点

SQL Server Profiler と同様に、Distributed Replay を使用して、アップグレードされたテスト環境に対してキャプチャしたトレースを再生できます。 SQL Server Profiler と異なるのは、Distributed Replay は 1 台のコンピューターからのワークロードの再生に限定されないことです。

Distributed Replay では、SQL Server Profiler よりもスケーラブルなソリューションが提供されます。 Distributed Replay を使用すると、複数のコンピューターからのワークロードを再生し、ミッションクリティカルなワークロードをより正確にシミュレートできます。

Microsoft SQL Server Distributed Replay 機能では、複数のコンピューターを使用してトレース データを再生し、ミッションクリティカルなワークロードをシミュレートできます。 Distributed Replay は、アプリケーション互換性テスト、パフォーマンス テスト、またはキャパシティ プランニングに使用できます。

Distributed Replay を使用する状況

SQL Server Profiler と Distributed Replay は、提供する機能が一部重複しています。

SQL Server Profiler を使用して、アップグレードされたテスト環境に対してキャプチャしたトレースを再生できます。 また、再生結果を分析して、潜在的な機能とパフォーマンスの非互換性を調べることができます。ただし、SQL Server Profiler で再生できるのは、1 台のコンピューターからのワークロードのみです。 アクティブな同時接続が多数あるか、またはスループットが高い集中型の OLTP アプリケーションを再生すると、SQL Server Profiler ではリソースのボトルネックが発生する可能性があります。

Distributed Replay では、SQL Server Profiler よりもスケーラブルなソリューションが提供されます。 Distributed Replay を使用すると、複数のコンピューターからのワークロードを再生し、ミッションクリティカルなワークロードをより正確にシミュレートできます。

次の表では、各ツールを使用する状況について説明します。

ツール

いつ使用するか

SQL Server Profiler

  • 1 台のコンピューター上で、従来の再生のメカニズムを使用する場合。 特に、[ステップ][カーソルまで実行][ブレークポイントの設定/解除] など、1 行ずつのデバッグ機能が必要な場合。

  • Analysis Services トレースを再生する場合。

Distributed Replay

  • アプリケーションの互換性を評価する場合。 たとえば、SQL Server とオペレーティング システムのアップグレード シナリオ、ハードウェアのアップグレード、インデックス チューニングをテストする場合などがあります。

  • キャプチャしたトレースの同時実行性が非常に高いため、1 つの再生クライアントで十分にシミュレートできない場合。

Distributed Replay の概念

Distributed Replay 環境は次のコンポーネントで構成されます。

  • Distributed Replay 管理ツール: Distributed Replay Controller と通信する際に使用するコンソール アプリケーション (DReplay.exe)。 Distributed Replay を制御するには管理ツールを使用します。

  • Distributed Replay Controller: SQL Server Distributed Replay Controller という名前の Windows サービスを実行するコンピューター。 Distributed Replay Controller は、Distributed Replay Client のアクションを統制します。 各 Distributed Replay 環境には、コントローラーのインスタンスを 1 つだけ置くことができます。

  • Distributed Replay Client: SQL Server Distributed Replay Client という名前の Windows サービスを実行する 1 つまたは複数の (物理または仮想) コンピューター。 Distributed Replay Client が連携して、SQL Server のインスタンスに対するワークロードをシミュレートします。各 Distributed Replay 環境には、1 つまたは複数のクライアントを置くことができます。

  • 対象サーバー: トレース データを再生する際に Distributed Replay Client が使用できる SQL Server のインスタンス。 対象サーバーはテスト環境に配置することをお勧めします。

Distributed Replay の管理ツール、コントローラー、およびクライアントは、異なるコンピューターにインストールすることも、同じコンピューターにインストールすることもできます。 同じコンピューターで実行できる Distributed Replay Controller サービスまたは Distributed Replay Client サービスのインスタンスは 1 つだけです。

次の図は、SQL Server Distributed Replay の物理アーキテクチャを示したものです。

分散再生アーキテクチャ

Distributed Replay のタスク

タスクの説明

トピック

Distributed Replay を構成する方法について説明します。

Distributed Replay の構成

入力トレース データを準備する方法について説明します。

入力トレース データの準備

トレース データを再生する方法について説明します。

トレース データの再生

Distributed Replay トレース データの結果を確認する方法について説明します。

再生結果の確認

管理ツールを使用して、コントローラー上の操作を開始、監視、取り消す方法について説明します。

管理ツール コマンド ライン オプション (Distributed Replay Utility)

関連項目

その他の技術情報

SQL Server Distributed Replay フォーラム

Distributed Replay を使用した SQL Server のロード テスト – パート 2

Distributed Replay を使用した SQL Server のロード テスト – パート 1