Configure Distributed ReplayConfigure Distributed Replay

適用対象:Applies to: はいSQL ServerSQL Server (サポートされているすべてのバージョン) yesSQL ServerSQL Server (all supported versions) 適用対象:Applies to: はいSQL ServerSQL Server (サポートされているすべてのバージョン) yesSQL ServerSQL Server (all supported versions)

MicrosoftMicrosoft SQL ServerSQL Server 分散再生構成の詳細は、分散再生コントローラー、クライアント、および管理ツールがインストールされている場所の XML ファイルで指定されます。The MicrosoftMicrosoft SQL ServerSQL Server Distributed Replay configuration details are specified in XML files on the Distributed Replay controller, clients, and where the administration tool is installed. このようなファイルには、次のファイルが含まれます。These files include the following:

コントローラー構成ファイル:DReplayController.configController Configuration File: DReplayController.config

SQL ServerSQL Server Distributed Replay Controller サービスを開始すると、コントローラー構成ファイル DReplayController.configからログ記録レベルが読み込まれます。When the SQL ServerSQL Server Distributed Replay controller service starts, it loads the logging level from the controller configuration file, DReplayController.config. このファイルは、Distributed Replay Controller サービスをインストールしたフォルダーにあります。This file is located in the folder where you installed the Distributed Replay controller service:

<controller installation path>\DReplayController.config<controller installation path>\DReplayController.config

コントローラー構成ファイルによって指定されるログ記録レベルには、次の内容が含まれます。The logging level specified by the controller configuration file includes the following:

設定Setting XML 要素XML Element 説明Description 使用できる値Allowed Values 必須Required
ログ記録レベルLogging level <LoggingLevel> コントローラー サービスのログ記録レベルを指定します。Specifies the logging level for the controller service. INFORMATION | WARNING | CRITICALINFORMATION | WARNING | CRITICAL いいえ。No. 既定値は CRITICAL です。By default, the value is CRITICAL.

Example

この例は、 INFORMATION および WARNING ログのエントリを非表示にするように変更されたコントローラー構成ファイルを示しています。This example shows a controller configuration file that has been modified to suppress INFORMATION and WARNING log entries.

<?xml version='1.0'?>  
<Options>  
<LoggingLevel>CRITICAL</LoggingLevel>  
</Options>  

クライアント構成ファイル:DReplayClient.configClient Configuration File: DReplayClient.config

SQL ServerSQL Server Distributed Replay Client サービスを開始すると、クライアント構成ファイル DReplayClient.configから構成設定が読み込まれます。When the SQL ServerSQL Server Distributed Replay client service starts, it loads configuration settings from the client configuration file, DReplayClient.config. このファイルは、各クライアントの Distributed Replay Client サービスをインストールしたフォルダーにあります。This file is located on each client, in the folder where you installed the Distributed Replay client service:

<client installation path>\DReplayClient.config<client installation path>\DReplayClient.config

クライアント構成ファイルによって指定される設定には、次の内容が含まれます。The settings specified by the client configuration file include the following:

設定Setting XML 要素XML Element 説明Description 使用できる値Allowed Values 必須Required
コントローラーController <Controller> コントローラーのコンピューターの名前を指定します。Specifies the computer name of the controller. クライアントは、コントローラーにアクセスすることによって、Distributed Replay 環境での登録を試みます。The client will attempt to register with the Distributed Replay environment by contacting the controller. "localhost" または "." を使用してローカル コンピューターを参照できます。You can use "localhost" or "." to refer to the local computer. いいえ。No. 既定では、クライアントはローカル (".") で実行しているコントローラー インスタンスの登録を試みます (存在する場合)。By default, the client tries to register with the controller instance that is running locally ("."), if it exists.
クライアントの作業ディレクトリClient working directory <WorkingDirectory> ディスパッチ ファイルが保存されるクライアント上のローカル パス。Is the local path on the client where the dispatch files are saved.

このディレクトリ内のファイルは、次の再生時に上書きされます。The files in this directory are overwritten on the next replay.
ドライブ文字で始まる完全なディレクトリ名。A full directory name, starting with the drive letter. いいえ。No. 値が指定されない場合は、ディスパッチ ファイルは既定のクライアント構成ファイルと同じ場所に保存されます。If no value is specified, the dispatch files will be saved in the same location as the default client configuration file. 値が指定されており、そのフォルダーがクライアントに存在しない場合は、クライアント サービスは開始されません。If a value is specified and that folder does not exist on the client, the client service will not start.
クライアントの結果ディレクトリClient result directory <ResultDirectory> クライアントの再生アクティビティによって生成される結果トレース ファイルが保存される、クライアント上のローカル パス。Is the local path on the client where the result trace file from the replay activity (for the client) is saved.

このディレクトリ内のファイルは、次の再生時に上書きされます。The files in this directory are overwritten on the next replay.
ドライブ文字で始まる完全なディレクトリ名。A full directory name, starting with the drive letter. いいえ。No. 値が指定されない場合は、結果トレース ファイルは既定のクライアント構成ファイルと同じ場所に保存されます。If no value is specified, the result trace file will be saved in the same location as the default client configuration file. 値が指定されており、そのフォルダーがクライアントに存在しない場合は、クライアント サービスは開始されません。If a value is specified and that folder does not exist on the client, the client service will not start.
ログ記録レベルLogging level <LoggingLevel> クライアント サービスのログ記録レベル。Is the logging level for the client service. INFORMATION | WARNING | CRITICALINFORMATION | WARNING | CRITICAL いいえ。No. 既定値は CRITICAL です。By default, the value is CRITICAL.

Example

この例は、 Controller1という名前の別のコンピューターでコントローラー サービスが実行されるように指定したクライアント構成ファイルを示しています。This example shows a client configuration file that has been modified to specify that the controller service is running on a different computer, a computer named Controller1. WorkingDirectory および ResultDirectory 要素は、フォルダー c:\ClientWorkingDir および c:\ResultTraceDirをそれぞれ使用するように構成されています。The WorkingDirectory and ResultDirectory elements have been configured to use folders c:\ClientWorkingDir and c:\ResultTraceDir, respectively. ログ記録レベルは INFORMATION および WARNING ログ エントリを非表示にするように既定値から変更されています。The logging level has been changed from the default value to suppress INFORMATION and WARNING log entries.

<?xml version='1.0'?>  
<Options>  
    <Controller>Controller1</Controller>  
    <WorkingDirectory>c:\ClientWorkingDir</WorkingDirectory>  
    <ResultDirectory>c:\ResultTraceDir</ResultDirectory>  
    <LoggingLevel>CRITICAL</LoggingLevel>  
</Options>  

前処理構成ファイル:DReplay.exe.preprocess.configPreprocess Configuration File: DReplay.exe.preprocess.config

前処理段階を開始するために管理ツールを使用すると、管理ツールは前処理構成ファイル DReplay.exe.preprocess.config から前処理設定を読み込みます。When you use the administration tool to initiate the preprocess stage, the administration tool loads the preprocess settings from the preprocess configuration file, DReplay.exe.preprocess.config.

既定の構成ファイルまたは管理ツール -c パラメーターを使用して、変更された前処理構成ファイルの場所を指定します。Use the default configuration file or use the administration tool -c parameter to specify the location of a modified preprocess configuration file. 管理ツールの前処理オプションの使用の詳細については、「前処理オプション (Distributed Replay 管理ツール)」を参照してください。For more information about using the preprocess option of the administration tool, see Preprocess Option (Distributed Replay Administration Tool).

既定の前処理構成ファイルは管理ツールのインストール フォルダーにあります。The default preprocess configuration file is located in the folder where you installed the administration tool:

<administration tool installation path>\DReplayAdmin\DReplay.exe.preprocess.config<administration tool installation path>\DReplayAdmin\DReplay.exe.preprocess.config

前処理構成の設定は、前処理構成ファイル内の <PreprocessModifiers> 要素の子である XML 要素で指定されています。The preprocess configuration settings are specified in XML elements that are children of the <PreprocessModifiers> element in the preprocess configuration file. これらの設定には、次の内容が含まれています。These settings include the following:

設定Setting XML 要素XML Element 説明Description 使用できる値Allowed Values 必須Required
システム セッション アクティビティを含むInclude system session activities <IncSystemSession> キャプチャ中のシステム セッション アクティビティが再生中に含まれるかどうかを示します。Indicates whether system session activities during the capture will be included during replay. Yes | NoYes | No いいえ。No. 既定値は No です。By default, the value is No.
最大アイドル時間Maximum idle time <MaxIdleTime> アイドル時間を絶対数 (単位は秒) で指定します。Caps the idle time to an absolute number (in seconds). >= -1 の整数です。An integer that is >= -1.

-1 は、元のトレース ファイルの元の値から変更されていないことを示します。-1 indicates no change from the original value in the original trace file.

0 は、指定された時刻に何らかのアクティビティが行われていることを示します。0 indicates that there is some activity going on at any given point in time.
いいえ。No. 既定値は -1 です。By default, the value is -1.

Example

既定の前処理構成ファイルは、次のとおりです。The default preprocess configuration file:

<?xml version='1.0'?>  
<Options>  
    <PreprocessModifiers>  
        <IncSystemSession>No</IncSystemSession>  
        <MaxIdleTime>-1</MaxIdleTime>  
    </PreprocessModifiers>  
</Options>  

再生構成ファイル:DReplay.exe.replay.configReplay Configuration File: DReplay.exe.replay.config

イベント再生段階を開始するために管理ツールを使用すると、管理ツールは再生構成ファイル DReplay.exe.replay.configから再生設定を読み込みます。When you use the administration tool to initiate the event replay stage, the administration tool loads the replay settings from the replay configuration file, DReplay.exe.replay.config.

既定の構成ファイルまたは管理ツール -c パラメーターを使用して、変更された再生構成ファイルの場所を指定します。Use the default configuration file or use the administration tool -c parameter to specify the location of a modified replay configuration file. 管理ツールの再生オプションの使用の詳細については、「replay オプション (Distributed Replay 管理ツール)」を参照してください。For more information about using the replay option of the administration tool, see Replay Option (Distributed Replay Administration Tool).

既定の再生構成ファイルは管理ツールのインストール フォルダーにあります。The default replay configuration file is located in the folder where you installed the administration tool:

<administration tool installation path>\DReplayAdmin\DReplay.exe.replay.config<administration tool installation path>\DReplayAdmin\DReplay.exe.replay.config

再生構成の設定は、再生構成ファイルの <ReplayOptions> 要素および <OutputOptions> 要素の子である XML 要素で指定されています。The replay configuration settings are specified in XML elements that are children of the <ReplayOptions> and <OutputOptions> elements of the replay configuration file.

<ReplayOptions> 要素<ReplayOptions> Element

再生構成ファイルの <ReplayOptions> 要素によって指定される設定には、次の内容が含まれます。The settings specified by the replay configuration file in the <ReplayOptions> element include the following:

設定Setting XML 要素XML Element 説明Description 使用できる値Allowed Values 必須Required
SQL ServerSQL Server の対象インスタンス (テスト サーバー)Target instance of SQL ServerSQL Server (the test server) <Server> 接続先となる SQL ServerSQL Server のサーバーとインスタンスの名前を指定します。Specifies the name of the server and instance of SQL ServerSQL Server to connect to. server_name[\instance_name]server_name[\instance_name]

"localhost" または "." を使用してローカル ホストを表すことはできません。You cannot use "localhost" or "." to represent the local host.
いいえ (管理ツールの replay オプションで、サーバー名が既に -starget server パラメーターを使用して指定されている場合)。No, if the server name is already specified by using the -starget server parameter with the replay option of the administration tool.
シーケンス モードSequencing mode <SequencingMode> イベント スケジュールに使用されるモードを指定します。Specifies the mode that is used for event scheduling. synchronization | stresssynchronization | stress いいえ。No. 既定値は stress です。By default, the value is stress.
ストレス スケールの粒度Stress scale granularity <StressScaleGranularity> ストレス モードで、Service Profile ID (SPID) のすべての接続をまとめて測定するのか (SPID)、個別に測定するのか (Connection) を指定します。Specifies whether all connections on the Service Profile Identifier (SPID) should be scaled together (SPID) or independently (Connection) under stress mode. SPID | ConnectionSPID | Connection はい。Yes. 既定値は SPID です。By default, the value is SPID.
接続タイム スケールConnect time scale <ConnectTimeScale> ストレス モードで接続時間を測定するのに使用されます。Is used to scale the connect time in stress mode. 1100の整数値です。An integer between 1 and 100. いいえ。No. 既定値は 100 です。By default, the value is 100.
待ち時間タイム スケールThink time scale <ThinkTimeScale> ストレス モードで待ち時間を測定するのに使用されます。Is used to scale think time in stress mode. 0100の整数値です。An integer between 0 and 100. いいえ。No. 既定値は 100 です。By default, the value is 100.
接続プールの使用Use connection pooling <UseConnectionPooling> 各 Distributed Replay Client で接続プールを有効にするかどうかを指定します。Specifies whether connection pooling will be enabled on each Distributed Replay client. Yes | NoYes | No はい。Yes. 既定値は Yes です。By default, the value is Yes.
ヘルス モニターの間隔Health monitor interval <HealthmonInterval> ヘルス モニターを実行する頻度 (秒) を示します。Indicates how often to run the health monitor (in seconds).

この値は、同期モードでのみ使用されます。This value is only used in synchronization mode.
>= 1 の整数Integer >= 1

(無効にする場合は-1 )(-1 to disable)
いいえ。No. 既定値は 60 です。By default, the value is 60.
クエリのタイムアウトQuery time-out <QueryTimeout> クエリのタイムアウト時間を秒単位で指定します。Specifies the query time-out value, in seconds. この値は、最初の行が返されるまで有効です。This value is only effective until the first row has been returned. >= 1 の整数Integer >= 1

(無効にする場合は-1 )(-1 to disable)
いいえ。No. 既定値は 3600 です。By default, the value is 3600.
クライアントごとのスレッドThreads per client <ThreadsPerClient> それぞれの再生クライアントで使用する再生スレッドの数を指定します。Specifies the number of replay threads to use for each replay client. 1512の整数値です。An integer between 1 and 512. いいえ。No. 指定されない場合、Distributed Replay は値として 255を使用します。If not specified, Distributed Replay will use a value of 255.

<OutputOptions> 要素<OutputOptions> Element

再生構成ファイルの <OutputOptions> 要素によって指定される設定には、次の内容が含まれます。The settings specified by the replay configuration file in the <OutputOptions> element include the following:

設定Setting XML 要素XML Element 説明Description 使用できる値Allowed Values 必須Required
行数の記録Record row count <RecordRowCount> それぞれの結果セットで行数を記録するかどうかを示します。Indicates whether the row count should be recorded for each result set. Yes | NoYes | No いいえ。No. 既定値は Yes です。By default, the value is Yes.
結果セットの記録Record result set <RecordResultSet> すべての結果セットの内容を記録するかどうかを示します。Indicates whether the content of all result sets should be recorded. Yes | NoYes | No いいえ。No. 既定値は No です。By default, the value is No.

Example

既定の再生構成ファイルは、次のとおりです。The default replay configuration file:

<?xml version='1.0'?>  
<Options>  
    <ReplayOptions>  
        <Server></Server>  
        <SequencingMode>stress</SequencingMode>  
        <ConnectTimeScale></ConnectTimeScale>  
        <ThinkTimeScale></ThinkTimeScale>  
        <HealthmonInterval>60</HealthmonInterval>  
        <QueryTimeout>3600</QueryTimeout>  
        <ThreadsPerClient></ThreadsPerClient>  
    </ReplayOptions>  
    <OutputOptions>  
        <ResultTrace>  
            <RecordRowCount>Yes</RecordRowCount>  
            <RecordResultSet>No</RecordResultSet>  
        </ResultTrace>  
    </OutputOptions>  
</Options>  

同期シーケンス モードで実行するときに発生する可能性のある問題Possible Issue When Running With Synchronization Sequencing Mode

再生機能が "停止" と表示されたり、イベントの再生が非常に遅くなったりする症状が発生する可能性があります。You may encounter a symptom in which the replay functionality appears to "stall", or replays events very slowly. この現象は、再生中のトレースが、復元されたターゲット データベースに存在しないデータやイベントに依存している場合に発生する可能性があります。This phenomenon can occur if the trace being replayed relies on data and/or events that do not exist in the restored target database.

1 つの例として、Service Broker の WAITFOR RECEIVE ステートメントなど、WAITFOR を使用するキャプチャされたワークロードがあります。One example is a captured workload that uses WAITFOR, such as in Service Broker's WAITFOR RECEIVE statement. 同期シーケンス モードを使用している場合、バッチは順番に再生されます。When using the synchronization sequencing mode, batches are replayed serially. データベースのバックアップ後、再生キャプチャ トレースが開始される前にソース データベースに対して INSERT が発生すると、再生中に発行された WAITFOR RECEIVE は WAITFOR の全期間を待機する必要があります。If an INSERT occurs against the source database after the database backup, but before the replay capture trace is started, the WAITFOR RECEIVE issued during replay may have to wait the entire duration of the WAITFOR. イベントは、WAITFOR RECEIVE が停止した後に再生されるように設定されます。Events set to be replayed after the WAITFOR RECEIVE will be stalled. これにより、再生ターゲットのデータベースに対するバッチ要求/秒のパフォーマンス モニター カウンターが、WAITFOR が完了するまで 0 に下がる可能性があります。This can result in the Batch Requests/sec performance monitor counter for the replay database target dropping to zero until the WAITFOR completes.

同期モードを使用する必要があり、この動作を回避したい場合は、次の操作を行う必要があります。If you need to use synchronization mode and wish to avoid this behavior, you must do the following:

  1. 再生ターゲットとして使用するデータベースを停止します。Quiesce the databases that you will be using as the replay targets.

  2. すべての保留中のアクティビティの完了を許可します。Allow all pending activity to complete.

  3. データベースをバックアップし、バックアップを完了できるようにします。Backup the databases and allow backups to complete.

  4. 分散再生トレースのキャプチャを開始し、通常のワークロードを再開します。Start the distributed replay trace capture and resume the normal workload.

参照See Also

管理ツール コマンド ライン オプション (Distributed Replay Utility) Administration Tool Command-line Options (Distributed Replay Utility)
SQL Server Distributed Replay SQL Server Distributed Replay
SQL Server Distributed Replay フォーラム SQL Server Distributed Replay Forum
分散再生を使用した SQL Server のロード テスト – パート 2 Using Distributed Replay to Load Test Your SQL Server - Part 2
分散再生を使用した SQL Server のロード テスト – パート 1Using Distributed Replay to Load Test Your SQL Server - Part 1