Wednesday, December 17, 2008

SQL Toolset: SqlQueryStress

Have you ever had  need to hammer on a database server to build load against it?  I recently had the need to do this to test some stuff out, and I was going to write a small C# application to do it.  Instead I found a great tool online for free by SQL Server MVP Adam Machanic:

Adam Machanic : New version of SQLQueryStress released

This is a pretty useful tool and you can't beat the price tag, FREE.  It has a easy to use interface, and allows for a good amount of configuration.  The database configuration page has two different connections, one for the Base Load run, and one to pull Parameters from:

image

The parameterization settings allow you to pull a data set to be used for parameter values for the workload being run, and you can pull them from the same database on the same server, or specify a different connection and database.

The main screen is really user friendly and provides large controls that provide information as the tests are running:

image

If you provide a query with parameters in the code, you can click the Parameter Substitution button to specify the values to map to those parameters from another query:

image

This is a really useful tool in my opinion and it has a number of uses for a DBA.  If you want to know how potentially problematic a piece of code may be, you can run a series of tests against the server.  If you want to see just how much load the server can take, you can easily stress it out with this tool.  As a point of reference, the settings in the images above are sufficient to run a 2 socket dual core server with 4GB RAM to 87% CPU sustained across all 4 cores.

No comments:

Post a Comment