Denali – Day 17: Distributed Replay

Denali – Day 17: Distributed Replay

Distribution replay a new command prompt utility provided by Denali, this works same as Profiler Reply but has additional features over it.

  • Unlike profiler reply distributed replay also reply the trace but it can be on multiple servers.
  • For reply on profile it takes a hour or more for big transactions also may take days with very big trace file, and it works one server at a time.
  • Distributed replay works very fast, and can be implemented several system.


When replaying an intensive OLTP application that has many active concurrent connections or high throughput, Profiler reply can become a resource bottleneck.

We have to install it separately on the same server as Engine or different server with sql server setup. There are two components we could install

Sql server Controller : Controls/Manages the reply, like it’s a heart of Distribution reply. Which contains the traced output files used for distribution.

Sql server Distribution Reply client (for load distribution) – is a mediator, multiple the more the client faster will be distribution.

Target Sql server instance : Target


Distributed Replay administration tool DReplay.exe – this is a administration tool /command which runs for distribution replay which requires different parameter to per requirement for distribution like





with different options


dreplay {preprocess|replay|status|cancel} [options] [-?]}


  dreplay preprocess [-m controller] -i input_trace_file

    -d controller_working_dir [-c config_file] [-f status_interval]

  dreplay replay [-m controller] -d controller_working_dir [-o]

    [-s target_server] -w clients [-c config_file]

    [-f status_interval]

  dreplay status [-m controller] [-f status_interval]

  dreplay cancel [-m controller] [-q]



dreplay preprocess [-m controller] -i input_trace_file

    -d controller_working_dir [-c config_file] [-f status_interval]


dreplay replay [-m controller] -d controller_working_dir [-o]

    [-s target_server] -w clients [-c config_file]

    [-f status_interval]


dreplay status [-m controller] [-f status_interval]


dreplay cancel [-m controller] [-q]



Controller: can be on the source server or independent server (one server can have only one controller services running).

Client: There can be one or more clients in each Distributed Replay environment.

Dreplay.exe has parameter options creates its own configuration XML files.

<controller installation path>\DReplayController.config

<controller installation path>\DReplayClient.config

<controller installation path>\DReplayPreprocess.config

<controller installation path>\DReplayReplay.config

Config files will have all configuration information related to it.


First create a trace file(using profiler/server side trace ) save it on local system C:\profilerTrace.trc.

Go to location where dreply.exe exists, considering here it is on C:. also assume the same source server has Controller services and client services running.

Now run the preprocess to create a distribution files location could be C:\Controllerfiles

C:\>dreplay preprocess –m localhost -i C:\profilerTrace.trc -d C:\Controllerfiles

It will process and create a controller file, now that files needs to be play for target server.

C:\dreplay replay -m localhost -d C:\Controllerfiles –o c:\output -w client1 –s targetInstance –f 2

If you want to see the same reply from different system using status, and if required we can cancel the controller as well.


Source and target server should be compatible for DReplay.exe

This entry was posted in Denali and tagged . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.