SQL Server 2012 (“Denali”): Distributed Replay

Replaying multiple threads of a captured trace in SQL Profiler is difficult, and you are limited to replaying the workload from a single computer.  Distributed Replay is a new multi-threaded replay utility in Denali that solves this problem by allowing you to spread the workload of a trace against multiple servers.  So you will have one database server (target server) but multiple replay clients executing traces (up to 16 clients with each running up to 255 threads), with a control server (replay controller) coordinating it all.  This allows you to do stress testing for multiple production workload scenarios, such as how an upgrade to a later version of SQL Server will affect your application, or if running on a database server with more physical memory will resolve a performance problem, or if running on a database server with more CPU’s will increase throughput.

There is a configuration file to modify settings, such as how much time to wait after a connection is made until it executes the first transaction (connect time) or how much time to wait between transactions (think time).

So after you have application changes, configuration changes, or upgrades, use Distributed Replay to help protect performance by testing the impact of the changes.

Distributed Replay is installed separately from the regular SQL Server install and all commands are run from the command line.

It has two modes: Synchronization Mode, which runs as your workload would run, using the wait times between commands, and Stress Mode, where there is no waiting so it runs as fast as possible to stress your server

The bottom line is Distributed Replay should make load testing much easier.

More Info:

TechEd Video: What’s New in Manageability for Microsoft SQL Server Code-Named “Denali” (10:22 mark to 28:34)

SQL Server Distributed Replay

Distributed Replay Utility Concepts

Installing and Configuring SQL Server 2012 Distributed Replay

About James Serra

James is a big data and data warehousing solution architect at Microsoft. Previously he was an independent consultant working as a Data Warehouse/Business Intelligence architect and developer. He is a prior SQL Server MVP with over 25 years of IT experience.
This entry was posted in SQL Server, SQL Server 2012, SQLServerPedia Syndication. Bookmark the permalink.

3 Responses to SQL Server 2012 (“Denali”): Distributed Replay

  1. Pingback: SQL Server 2012 will have Distributed Replay | Blog Home for MSSQLDUDE

  2. Mark Kromer says:

    Nice job, James! I just wrote about Distributed Replay as a lesser-known new tool in SQL Server 2012, but one that will likely see a good amount of use and uptake and I linked to your post here: http://mssqldude.wordpress.com/2011/11/15/sql-server-2012-will-have-distributed-replay/