Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Tools to Replay Load on a SQL Server

Has anyone come across any good tools (preferably but not necessarily FOSS) that can read a SQL Server (2005/2008) trace file and execute the commands against another database. We are attempting to perform some performance testing on our SQL servers and would like to replicate an actual load.

I have come across but not yet used:

  • JMeter
  • ReplayML

Preferably, the application would be able to use threading to mimic user connections and query execution on the SQL Server.

like image 813
Jason Irwin Avatar asked Apr 10 '09 18:04

Jason Irwin


2 Answers

You can replay a SQL Server Profiler trace against another server using the SQL Server Profiler itself.

See the following Microsoft Reference as a starting point.

http://msdn.microsoft.com/en-us/library/ms189604.aspx

Quest Software also have a tool called Benchmark Factory that can be used to perform SQL Server load testing.

http://www.quest.com/benchmark-factory/

like image 124
John Sansom Avatar answered Nov 16 '22 02:11

John Sansom


One of the best tools is actually freely available from Microsoft. The RML Utilities are targeted at SQL2005 & SQL2008 and are specifically designed for this type of testing.

You can download the tools from http://www.microsoft.com/downloads/details.aspx?FamilyId=7EDFA95A-A32F-440F-A3A8-5160C8DBE926&displaylang=en

We have used them to solve several performance and locking issues.

Note: Capturing trace files using the SQL Profiler GUI can add to performance problems due to the way the GUI and Trace backend interact. The RML Utilites include a script that can capture traces directly from the SQL Server without using the GUI.

like image 26
Frozenskys Avatar answered Nov 16 '22 00:11

Frozenskys